Синтаксис 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
Ответы
Ответ 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