mssql sqlserver 系统存储过程”sp_MSforeachdb” 功能及使用说明简介


摘要:
下文主要讲述 sp_MSforeachdb 系统存储过程的功能简介,应用场景及举例说明



一、sp_MSforeachdb 系统存储过程的功能简介

sp_MSforeachdb:是一个系统存储过程,从mssql 6.5开始就存在于DB系统中,存在于master数据库中
sp_MSforeachdb:功能,遍历当前服务器下,所有数据库,并根据相应的参数生成相应的sql脚本,并执行sql脚本
——————————-
sp_MSforeachdb参数说明:

 @command1 nvarchar(2000),          --第一条运行的SQL指令
 @replacechar nchar(1) = N'?',      --指定的占位符号
 @command2 nvarchar(2000)= null,    --第二条运行的SQL指令
 @command3 nvarchar(2000)= null,    --第三条运行的SQL指令 
 @precommand nvarchar(2000)= null, --执行指令前的操作(类似控件的触发前的操作)
 @postcommand nvarchar(2000)= null --执行指令后的操作(类似控件的触发后的操作)
 


二、sp_MSforeachdb 系统存储过程应用场景及举例说明

sp_MSforeachdb应用场景:
sp_MSforeachdb系统存储过程,可应用于需批量处理数据库的所有操作。
快速批量备份数据库
快速批量checkDb
等等
例:

   --打印当前数据库名称
exec sp_MSforeachdb   @command1="print '?'  ",@command2 ="print '?' "
--检查当前DB服务器下所有的数据库
exec sp_MSforeachdb  @command1="DBCC CHECKDB (?) ",@command2="print '?'"