DBCC CHECKIDENT
Yönetim komutu kimlik sayacını sıfırlamak için kullanılır. Komut sözdizimi:
DBCC CHECKIDENT (table_name [, { NORESEED | { RESEED [, new_reseed_value ]}}])
[ WITH NO_INFOMSGS ]
Misal:
DBCC CHECKIDENT ('[TestTable]', RESEED, 0);
GO
Azure SQL Veritabanı'nın önceki sürümlerinde desteklenmemiştir, ancak şimdi desteklenmektedir.
Bağımsız new_reseed_value
değişkenin belgelere göre SQL Server sürümleri arasında değiştiğini lütfen unutmayın :
Tabloda satırlar varsa, sonraki satır new_reseed_value değeriyle eklenir . SQL Server 2008 R2 ve önceki sürümlerinde, eklenen bir sonraki satır new_reseed_value + geçerli artış değerini kullanır .
Ancak, gözlemlenen davranış en azından SQL Server 2012 hala new_reseed_value + geçerli artış değeri mantığını kullandığını gösterir, çünkü bu bilgileri yanıltıcı (sadece düz yanlış aslında) bulabilirsiniz . Microsoft bile aynı sayfada bulunanla çelişiyor :Example C
C. Mevcut kimlik değerini yeni bir değere zorlamak
Aşağıdaki örnek, AddressType tablosundaki AddressTypeID sütunundaki geçerli kimlik değerini 10 değerine zorlar. Tablonun varolan satırları olduğundan, eklenen sonraki satır değer olarak 11'i, yani için tanımlanan yeni geçerli artış değerini kullanır sütun değeri artı 1.
USE AdventureWorks2012;
GO
DBCC CHECKIDENT ('Person.AddressType', RESEED, 10);
GO
Yine de, tüm bunlar yeni SQL Server sürümlerinde farklı davranışlar için bir seçenek bırakır. Microsoft'un kendi belgelerindeki şeyleri temizleyene kadar, kullanmadan önce gerçek testler yapmak olduğundan emin olmanın tek yolu sanırım.