Quantcast
Channel: SQL.ru: Microsoft SQL Server
Viewing all articles
Browse latest Browse all 7251

лин к удалённому серверу БД и работа с ней

$
0
0
Добрый день, гуру!
подскажите пожалуйста
пытаюсь сделать такой запрос
use srv_intellect
EXEC sp_addlinkedserver '192.168.20.11','SQL Server';
EXEC sp_addlinkedsrvlogin '192.168.20.11', 'false', NULL, 'sa', 'XXX';
IF EXISTS (SELECT * FROM sys.servers WHERE name = ('192.168.20.11') )
BEGIN 
	select * into PROTOCOL_TEMP  from [192.168.20.11].srv_os.dbo.protocol 
	where pk not in (select pk from protocol) ;
	EXEC sp_droplinkedsrvlogin '192.168.20.11', NULL;
	EXEC sp_dropserver '192.168.20.11';
end

появляется ошибка
could not find server '192.168.20.11' in sys.servers. Verify that the correct server name was specified. If necessary, execute the stored procedure sp_addlinkedserver to add the server to sys.servers.
но если делать по отдельности
EXEC sp_addlinkedserver '192.168.20.11','SQL Server';
EXEC sp_addlinkedsrvlogin '192.168.20.11', 'false', NULL, 'sa', 'XXX';

а потом всё остальное , происходит всё удачно.
думал что не успевает сервер залинковаться, добавлял задержку WAITFOR DELAY '00:00:05.000';
но не помогает, такое впечатление что при выполнении в mms запрос с начало пре-выполняется и не видит ещё не созданный линк с удалённому серверу

в итоге хочу такой запрос поставить в jobs для пополнения таблицы локального сервера событиями которые почему то не дошли с удалённого сервера(есть механизм синхронизации на уровне стороннего ПО, но ПО может быть выключено и как следствие события не дойти)

Viewing all articles
Browse latest Browse all 7251

Trending Articles