2012-04-20 3 views
0

У меня есть работа агента SQL Server на сервере X. Эта работа проста, и использует следующий запрос, чтобы обновить таблицу (на сервере X), очистив его, а затем вновь заселять его с данными из представления (также на сервере X):Доступ к другому SQL-серверу из агента задания SQL

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

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

The «LatestDownloadLogs «таблица переходит на« сервер Y », но вид« lastoverview-union »останется на« сервере X ».

Поэтому то, что мне нужно что-то, что выглядит следующим образом:

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

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

Конечно, это не так просто, но мы надеемся, что иллюстрирует то, что я пытаюсь сделать.

ответ

0

Вы можете использовать OPENROWSET, which'll требовать информацию о соединении, имя пользователя & пароль ...

Но сначала вам может понадобиться, чтобы включить 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...) 

Надеюсь, это поможет ... удачи.

2

Создать связанный сервер на сервере x на сервер y.