当前位置:Gxlcms > 数据库问题 > SQL SERVER 下,批量在不同的数据库中执行相同的脚本

SQL SERVER 下,批量在不同的数据库中执行相同的脚本

时间:2021-07-01 10:21:17 帮助过:57人阅读

@sql AS NVARCHAR(300) DECLARE @name AS NVARCHAR(30) DECLARE c CURSOR FAST_FORWARD FOR SELECT NAME FROM sys.databases WHERE name LIKE p% OPEN c FETCH NEXT FROM C INTO @name; WHILE @@FETCH_STATUS = 0 BEGIN SET @sql = USE + quotename(@name) + select name,physical_name from sys.database_files; EXEC(@sql); FETCH NEXT FROM c INTO @name; END CLOSE c; DEALLOCATE c;

3、使用微软没有公开的两个存储过程:下面展示了使用sp_msforeachdb存储过程在每个数据库上执行dbcc检查数据库的完整性和一致性。

DECLARE @sql VARCHAR(1000) 
SELECT @sql = dbcc checkdb([?]) 
EXEC sp_msforeachdb @sql

方法 2 和 3 的区别在于 2 可以选择执行的对象,而 3 不那么容易选择。

SQL SERVER 下,批量在不同的数据库中执行相同的脚本

标签:开头   51cto   sql   checkdb   脚本   文件   next   cal   完成   

人气教程排行