使用非正式的存储过程 sp_MSforeachdb

使用非正式的存储过程 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  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值