0

我在“服务器 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]

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

4

2 回答 2

2

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

于 2012-04-20T05:29:05.893 回答
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...)

希望这有帮助,祝你好运。

于 2012-04-20T02:31:37.933 回答