【发布时间】:2016-09-04 15:43:30
【问题描述】:
我们在仓库服务器上有 10 个数据库(每个位置 1 个)和 1 个主数据库。这 10 个数据库与另一台服务器上的 OLTP 对应数据库相关联。我在主数据库中创建了一个存储过程,用于将数据从源移动到目标。
我没有创建游标并循环遍历所有数据库,而是尝试查看是否有一种方法可以将参数传递给每个数据库的 SQL Server 代理作业 - 基本上有 10 个 SQL 代理作业(每个数据库 1 个) )
有没有办法在 Job > Steps > Command Window 中为学校声明一个变量并将其传递给复制存储过程?
工作 1
Declare @Source_DB varchar(max)
@Target_DB Varchar(max)
Set @Source_DB = ‘School_1’
Set @Target_DB= ‘DW_School_1’
Exec Replicate @Source_DB, @Target_DB
工作 2
Declare @Source_DB varchar(max)
@Target_DB Varchar(max)
Set @Source_DB = ‘School_2’
Set @Target_DB= ‘DW_School_2’
Exec Replicate @Source_DB, @Target_DB
工作 3
Declare @Source_DB varchar(max)
@Target_DB Varchar(max)
Set @Source_DB = ‘School_3’
Set @Target_DB= ‘DW_School_3’
Exec Replicate @Source_DB, @Target_DB
工作 4……
【问题讨论】:
-
查看系统 proc sp_MSforeachdb
标签: sql sql-server stored-procedures parameters