Подтвердить что ты не робот

Синтаксис sp_addlinkedserver

Я хотел бы сделать копию того, что на моем удаленном сервере на xxx.safesecureweb.com. Как подключиться к нему с локального SQL Server?

Синтаксис:

sp_addlinkedserver 
@server='PRODUCTION', 
@provider='xxx.safesecureweb.com',
@Username='myUsername', 
@Password='myPassword'

То, что я собираюсь сделать, это написать кучу операторов вставки, например:

INSERT INTO Test.Table
SELECT * FROM Production.Table
4b9b3361

Ответ 1

Вы не указываете удаленный пользователь и пароль в определении связанного сервера. У связанных серверов есть отдельный объект, который отображает логин пользователей, подключенных к локальному серверу ( "locallogin" ) с удаленными входами. См. Безопасность для связанных серверов. Например, следующие карты всех локальных логинов на связанном сервере с указанным именем пользователя MyUserName:

exec sp_addlinkedserver 'xxx.safesecureweb.com';
exec sp_addlinkedsrvlogin 'xxx.safesecureweb.com'
    , 'FALSE', NULL, 'myUserName', 'myPassword';

Вы можете сопоставить с пользователем/паролем удаленный SQL логин. Удаленные учетные записи Windows (доверенная аутентификация) должны использовать встроенную проверку подлинности и настроить сервер для ограниченного делегирования.

Ответ 2

Поставщик должен быть поставщиком клиента, который вы хотите использовать для подключения. @datasrc - это имя сервера для подключения.

sp_addlinkedserver  
@server='PRODUCTION',  
@provider='SQLNCLI', -- sql native client.
@Username='myUsername',  
@Password='myPassword',
@dataSrc = 'xxx.safesecureweb.com' 

Затем, при запросе, я считаю, что вам нужно использовать четырехзначное имя для таблицы:

INSERT INTO Test.Table
SELECT * FROM Production.mydatabase.dbo.Table

http://msdn.microsoft.com/en-us/library/ms190479.aspx