how to truncate all tables
使用者要求協助,要一份某一個測試資料庫內容全部清空
當下想到有兩個做法
1. 產生資料庫script,直接建一個空的給他
2. truncate table
看一下資料表...數百個,當然不可能一個一個truncate掉...
直接下語法 (記得好習慣,異動前要備份)
EXEC sp_MSForEachTable 'TRUNCATE TABLE ?'
果然沒這麼順利XD
有foreign key的資料表就會出錯,要先停用,不過搞老半天還是弄不好
最後改用delete的方式....
exec sp_msforeachtable 'alter table ? nocheck CONSTRAINT all'
EXEC sp_MSForEachTable "DELETE FROM ?"
exec sp_msforeachtable 'alter table ? check constraint all'
EXEC sp_MSforeachtable "DBCC CHECKIDENT ( '?', RESEED, 0)"
最後記得reseed