SQL Server’da Bir Veritabanını Temizleme ve Identity Sütunlarını Reset’leme (SQL Reset Identities and Data)

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