Looping over the databases on a server
SP_MSFOREACHDB
獲得所有實例下數據庫名稱
EXEC sp_MSForEachDB 'PRINT "?"'
?
sp_MSforeachtable
?
USE MASTER
GO
SP_HELPTEXT sp_MSforeachtable
這個系統存儲過程有7個參數:
@command1 nvarchar(2000),? --第一條運行的T-SQL指令
@replacechar nchar(1) = N'?',?? --指定的占位符號
@command2 nvarchar(2000) = null,--第二條運行的T-SQL指令
@command3 nvarchar(2000) = null, --第三條運行的T-SQL指令
@whereand nvarchar(2000) = null, --可選條件來選擇表
@precommand nvarchar(2000) = null, --在表前執行的指令
@postcommand nvarchar(2000) = null --在表后執行的指令
?
獲取庫下面所有表和行數
EXEC sp_MSForEachTable 'PRINT ''?''; SELECT ''?'' as [TableName],
COUNT(*) AS [RowCount] FROM ?;'
查看所有表行數,和表空間信息:
EXEC sp_MSForEachTable 'PRINT ''?''; SELECT ''?'' as [TableName],
COUNT(*) AS [RowCount] FROM ?;EXEC SP_SPACEUSED "?"'
?
更新所有表統計信息:
sp_msforeachtable 'update statistics ?'
?
獲得所有的數據庫的存儲空間
exec sp_MSforeachdb? 'select? "?";EXEC sp_spaceused'
?
所有數據庫信息
EXEC sp_MSforeachdb 'USE ? EXEC sp_helpfile;'
?
更改所有數據庫的擁有者為'sa'
EXEC sp_MSforeachdb 'USE ?; EXEC sp_changedbowner ''sa'''
?
檢查數據庫完整性
EXEC sp_MSforeachdb 'use ?; DBCC CHECKDB'
?
刪除數據庫所有表數據(小心操作)
EXEC sp_MSforeachTABLE 'TRUNCATE TABLE ?'
EXEC sp_MSforeachTABLE "DELETE FROM ?"
轉載于:https://www.cnblogs.com/kingwwz/p/5790921.html
總結
以上是生活随笔為你收集整理的Looping over the databases on a server的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: XCode 项目配置说明
- 下一篇: win7 安装Redis