码迷,mamicode.com
首页 > 数据库 > 详细

Looping over the databases on a server

时间:2016-08-20 19:23:42      阅读:203      评论:0      收藏:0      [点我收藏+]

标签:

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 ?"

Looping over the databases on a server

标签:

原文地址:http://www.cnblogs.com/kingwwz/p/5790921.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!