调用sp_MsForEachDb 奇怪的现象
2009-10-19 16:13 superbullet 阅读(198) 评论(0) 收藏 举报sp_MsForEachDb是sql server一个很有用的undocumented的sp。今天,我写了以下一段很简单的sql用来备份服务器客户的数据库,不知道为什么在本地机上执行没有任何问题,备份了所有"ul_开头,非_test结尾”的数据库。但是当我放到公司server上面去执行,却只备份了"ul_开头,非_test结尾“的数据库里面的最后一个!有人做过类似的东西吗?郁闷, 呵呵。
EXEC sp_MsForEachDb @command1 =
'
DECLARE @bk_folder varchar(max)
DECLARE @bk_path varchar(max)
DECLARE @fileName varchar(max)
DECLARE @bk_time datetime
DECLARE @fileName_suffix varchar(max)
IF CHARINDEX(''ul_'', ''?'') > 0 AND RIGHT(''?'', 5) <> ''_test''
BEGIN
PRINT ''?''
SET @bk_time = getdate()
--select @bk_time
SET @fileName_suffix = Convert(varchar(10), @bk_time, 102) + ''_'' + REPLACE(Convert(VARCHAR(8), @bk_time, 108), '':'', ''.'') + ''.bak''
SET @fileName = ''?_live'' + @fileName_suffix
--select @fileName
SET @bk_folder = ''c:\temp\''
SET @bk_path = @bk_folder + @fileName
--SELECT @bk_path
BACKUP DATABASE ?
To DISK = @bk_path WITH COMPRESSION
END
'
浙公网安备 33010602011771号