Merhabalar;
Çoğumuz biliriz. Oluşturduğumuz veritabanı, projemizde ilerledikçe testlerimiz sırasında deneme verileriyle dolar ve iyice karışır. Tüm veritabanınızı boşaltmak, identity sütunlarını reset’lemek ve ilk günkü haline getirmek için bir script yazmanız yeterli:
/*Constraint & Trigger'ları devre dışı bırakma*/ EXEC sp_MSforeachtable 'ALTER TABLE ? NOCHECK CONSTRAINT ALL' EXEC sp_MSforeachtable 'ALTER TABLE ? DISABLE TRIGGER ALL' /*Bütün tablolardaki kayıtları silme*/ EXEC sp_MSforeachtable 'DELETE ?' /*Constraint & Trigger'ları yeniden etkinleştirme*/ EXEC sp_MSforeachtable 'ALTER TABLE ? CHECK CONSTRAINT ALL' EXEC sp_MSforeachtable 'ALTER TABLE ? ENABLE TRIGGER ALL' /*Identity sütunlarını reset'leme (yani yeniden 1'den başlamalarını sağlama)*/ EXEC sp_MSforeachtable 'IF OBJECTPROPERTY(OBJECT_ID(''?''), ''TableHasIdentity'') = 1 BEGIN DBCC CHECKIDENT (''?'',RESEED,0) END' |
Sadece 1 tablonun identity sütununu resetlemek için;
DBCC CHECKIDENT('table_name', RESEED, 0) |
Bu yazı yazilimdilleri sitesinden alıntıdır.
Kaynak: http://www.yazilimdilleri.net/Yazilim-Ipucu-3491-SQL-Server-da-Bir-Veritabanini-Temizleme-ve-Identity-Sutunlarini-Reset-leme.aspx