从SQL作业代理访问另一个SQL Server

时间:2012-04-20 02:26:14

标签: sql-server database sql-server-2008 sql-server-agent

我在“服务器X”上有一个SQL Server代理作业。这项工作很简单,并使用以下查询刷新表(在服务器X上),通过清除它,然后使用视图中的数据(也在服务器X上)重新填充它:

DELETE FROM [ClientList].[dbo].[LatestDownloadLogs]

INSERT INTO [ClientList].[dbo].[LatestDownloadLogs] 
SELECT * FROM [ClientList].[dbo].[latestoverview-union]

“LatestDownloadLogs”表正在转移到“服务器Y”,但“latestoverview-union”视图将保留在“服务器X”上。

因此我需要的是这样的东西:

DELETE FROM [server Y].[ClientList].[dbo].[LatestDownloadLogs]

INSERT INTO [server Y].[ClientList].[dbo].[LatestDownloadLogs] 
SELECT * FROM [server X].[ClientList].[dbo].[latestoverview-union]

当然,这并不容易,但希望这说明了我正在努力实现的目标。

2 个答案:

答案 0 :(得分:2)

在服务器x上创建链接服务器到服务器y。

答案 1 :(得分:0)

你可以使用OPENROWSET,它需要连接信息,用户名和密码。密码...

但首先您可能需要启用Ad Hoc Distributed Queries

EXEC sp_configure 'show advanced options', 1  
reconfigure  

EXEC sp_configure 'Ad Hoc Distributed Queries', 1  
reconfigure  

然后您可以选择,插入或删除

SELECT FROM
OPENROWSET (... params...)




UPDATE
OPENROWSET (... params...)

希望这有助于......祝你好运。