My application uses a LocalDb instance to store it\'s data. I\'ve noticed a quirk in the way that LocalDb has allocated identifies (explained more here) which I\'d like to a
I have a similar problem and believe I have a workaround...
Launch Regedit and find your localdb registry key. For me this was
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL12E.LOCALDB\MSSQLServer\
Within this key create another key named Parameters.
Within the Parameters key create a string (REG_SZ) named SQLArg0 and set its value to -T272.
Stop the LocalDB process by running SQLLOCALDB.EXE
in a command prompt, passing in stop
as a parameter and the name of the instance. For example:
C:\> sqllocaldb stop mssqllocaldb
And then cause LocalDB to auto start by connecting to a database on it.
Run the query DBCC TRACESTATUS() and you should see that the trace flag 272 is present. For example:
C:\>sqlcmd -S (LocalDB)\MSSQLLocalDB -Q "DBCC TRACESTATUS();"
To test this I've been using VS2015 server explorer to explore the database. Killing the LocalDB process in Task Manager (sqlservr.exe), connecting to the database in VS2015 and adding a new row manually causes my auto-increment value to jump by 1000. After adding the registry hack described above, manually terminating the LocalDB process doesn't cause the next generated identity value to skip.
HTH