[SQL SERVER][TSQL]sp_MSforeachtable
上一篇介紹了好用的sp_MSforeachdb,
這篇繼續介紹另一個 sp_MSforeachtable,
你依然可以在 master 資料庫中找到它,
下面列出幾個實用的 command 。
1.列出資料庫中所有資料表筆數
use ricotest1
EXEC sp_MSforeachtable 'select ''?'' as 資料表名稱, Count(*) as 資料總筆數 from ?'
2.列出資料庫中所有資料表大小
use ricotest1
EXEC sp_MSforeachtable 'EXEC sp_spaceused ''?'''
3.重建資料庫中所有資料表索引
use ricotest1
EXEC sp_MSforeachtable 'print ''?'' DBCC DBREINDEX (''?'', '' '', 80)'
4.關閉資料庫中所有資料表 Trigger
use ricotest1
EXEC sp_MSforeachtable 'ALTER TABLE ? DISABLE TRIGGER ALL'
5.關閉資料庫中所有資料表 Constraint
use ricotest1
EXEC sp_MSforeachtable @command1="ALTER TABLE ? NOCHECK CONSTRAINT ALL"
6.回收資料庫中所有資料表可變長度空間
use ricotest1
EXEC sp_MSforeachtable 'DBCC CLEANTABLE(0,''?'') WITH NO_INFOMSGS; ';
7.更新資料庫中所有資料表統計值
use ricotest1
EXEC sp_MSforeachtable 'UPDATE statistics ? WITH ALL'
8.清空資料庫中所有資料表資料
use ricotest1
EXEC sp_MSforeachtable 'TRUNCATE TABLE ?'
9.刪除資料庫中所有資料表資料
use ricotest1
EXEC sp_MSforeachtable 'delete from ?'
10.刪除資料庫中所有資料表
use ricotest1
EXEC sp_MSforeachtable 'drop table ?'
參考
http://www.sqlservercurry.com/2009/04/8-common-uses-of-undocumented-stored.html