1
我有一个很长的SQL脚本,我想运行一个服务器上的每个数据库。什么是最好的方式来做到这一点?为每个数据库运行长SQL脚本
我发现这个在我的研究:
EXEC sp_msforeachdb "
IF '?' IN ('lib1','lib2','lib3')
BEGIN
use ?;
exec 'my_sp_long_sql_script'
END
"
我尝试过,但它需要我在创建每个库,哪种击败循环的目的SP。或者我该如何自动为每个库创建一个sp?
我想要做的就是为我的每个数据库运行我的long_sql_script。
您正在运行脚本(.sql文件)还是执行存储过程?类似的问题已经被问过[很多次](http://stackoverflow.com/search?q=sql+server+script+multiple+databases);我个人会写一个小的外部批处理文件或脚本来执行此操作([SQLCMD scripting variables](http://msdn.microsoft.com/en-us/library/ms188714(v = sql.100).aspx))有用)。如果这是一个部署问题,那么你可能更喜欢在你的构建/部署过程中构建一些东西。 – Pondlife 2013-03-13 16:27:28