您的位置:首页 > 其它

使用非正式的存储过程 sp_MSforeachdb

2009-04-25 22:40 309 查看
.post h3 a{color:#495D5C; font-size:22px; font-weight:normal; margin:0 0 5px; padding:10px 0 0}
a{color:#7A3254; text-decoration:none}

使用非正式的存储过程 sp_MSforeachdb

sp_MSforeachdb
跌代每一个SQL
SERVER中数据库的实例.替代使用游标,这个非正式的存储过程极大帮助我运行一些相对我本地数据库服务器的命令.这儿有一些实际使用sp_MSforeachdb
日常任务的场景.

打印SQL Server实例所有数据库的名称.

EXEC sp_MSforeachdb
'USE ?; PRINT DB_NAME()'

打印SQL Server实例所有数据库中所有表

EXEC sp_MSforeachdb
'USE ? SELECT DB_NAME() + ''.'' + OBJECT_NAME(object_Id)
FROM sys.tables'

打印SQL Server实例所有数据库中所有表(剔除master, model, msdb and
tempdb数据库)


EXEC sp_MSforeachdb
'USE ? SELECT OBJECT_NAME(object_Id) FROM
sys.tables where DB_NAME() NOT IN(''master'', ''model'', ''msdb'', ''tempdb'')'

显示SQL Server实例所有数据库的所占空间

EXEC sp_MSforeachdb
'USE ?; EXEC sp_spaceused'


显示SQL Server实例所有数据库中物理名称与特性(size,growth,usage)


EXEC sp_MSforeachdb
'USE ? EXEC sp_helpfile;'

更改所有数据库的拥有者为'sa'

EXEC sp_MSforeachdb
'USE ?; EXEC sp_changedbowner ''sa'''


检查数据中所有对象逻辑与物理是否完整.


sp_MSforeachdb 'DBCC
CHECKDB(?)'

类似的你能备份所有数据库,或做一CHECKSUM 有用的存储过程.

Author: Petter Liu
http://wintersun.cnblogs.com
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: