【发布时间】:2015-10-29 16:41:47
【问题描述】:
我有一个列表,其中包含三个存储过程,它们需要每天在多个单独的 SQL 数据库上运行。每个数据库的名称不同,但每个数据库上的存储过程都是相同的。
我对基本查询以外的任何知识都非常有限,但我想我可以在我设置为 Master 的数据库上拥有 SQL Server 代理工作。然后,一旦我将它们配置为目标,我就让该服务器将该作业推送到其他数据库。我的问题是,在考虑这个问题时,数据库名称不同,在 SQL Server 代理向导中,我只能将数据库设置为主实例上当前的数据库。
通过服务器执行此循环以运行存储过程的最佳方法是什么?
【问题讨论】:
-
您是指不同的 SQL Server 实例(可能位于同一物理服务器或不同的机器上),而不仅仅是存在于同一个服务实例下的不同数据库?
-
它们是不同的 SQL Server 实例。
-
您是否将所有这些实例列为链接服务器到您视为主服务器的服务器?如果是这样,您可以考虑使用 OPENQUERY 进行远程执行。
-
它们没有链接,但看起来这是最好的路线。我听说过 OPENROWSET ,但这需要允许 Ad Hoc 查询,这似乎不合适。我也听说过 SSIS,但我对它一无所知,不知道在哪里与 SSIS 在一起。
标签: sql-server