項目部署到用戶服務器後,用戶反饋 ID 的值突然躍增 1000 開始了。
初步判斷:代碼中沒有大批量的數據添加與回滾,應該不是程序的問題。
Google 之後,找到這篇文章
http://www.codeproject.com/Tips/668042/SQL-Server-2012-Auto-Identity-column-Value-Jump-Is
Register -t272 to SQL Server Startup Parameter
Open SQLServer configuration manager from your server. Select SQL Server 2012 instance there right client and select Properties menu. You will find a tabbed dialog window. You select start up parameters tab from there and register -t272. Then restart SQL Server
2012 instance again and see the difference:
Points of Interest
If too many tables contain identity column to your database and all contain existing values, then it is better to go for solution 2. Because it is a very simple solution and its scope is server wise. This means if you add SQL Server 2012 parameter -t272 there,
then it will affect all your databases there. If you want to create a new database and you need auto generated number field, then you can use solution 1, that means use sequence value to a column instead of auto Identity value. There are so many articles you
can find online about when you will use auto identity column when using sequence and advantages/disadvantages of each other. I hope you will read all those and take the appropriate decision.