为每个数据库运行长SQL脚本

时间:2013-03-13 03:46:12

标签: sql sql-server sql-server-2008

我有一个很长的SQL脚本,我想在一台服务器上为每个数据库运行。最好的方法是什么?

我在研究中发现了这一点:

EXEC    sp_msforeachdb  "
IF      '?'     IN ('lib1','lib2','lib3')   

BEGIN
        use ?;
        exec 'my_sp_long_sql_script'
END
"

我尝试了但是它需要我在每个库中创建sp,这样会破坏循环的目的。或者如何为每个库自动创建sp?

我想要做的就是为每个数据库运行我的long_sql_script。

1 个答案:

答案 0 :(得分:1)

使用存储过程的完全限定名称而不是其相对名称,从定义它的位置检索它。这就是SQL Server本身的工作方式。