Я могу опоздать на вечеринку, но я обнаружил, что у меня работают следующие ссылки:
Для выполнения начальной ссылки я использовал
EXEC sp_addlinkedserver @server='serverLinkPseudonym',@srvproduct='',@provider='SQLOLEDB', @datasrc='192.168.1.1';
Затем, когда я входил в систему с аутентификацией Windows, я добавил пользователя Windows (это вылечило мою ошибку «Не связано с доверенным SQL Server»)
EXEC sp_addlinkedsrvlogin 'serverLinkPseudonym', 'false', 'MACHINENAME\windowsLogin', 'lnkSrvLogin', 'lnkSrvPswd';
Я также обнаружил, что если я собирался запускать задания агента SQL Server, которые делали вызовы на LinkedServer, мне пришлось добавить следующее:
EXEC sp_addlinkedsrvlogin 'serverLinkPseudonym', 'false', 'NT AUTHORITY\SYSTEM', 'lnkSrvLogin', 'lnkSrvPswd';
Ради ясности:
«192.168.1.1» - это IP-адрес сервера, с которым необходимо установить связь.
«lnkSrvLogin» - это логин на сервере, с которым нужно связать, который имеет доступ к базам данных, к которым вам нужно получить доступ.
«lnkSrvPswd» - пароль этой учетной записи.
Если вы подключаетесь к связанному серверу, используя учетную запись с существующего сервера, то вы просто используете это имя учетной записи в команде sp_addlinkedsrvlogin. например:
EXEC sp_addlinkedsrvlogin 'serverLinkPseudonym', 'false', 'thisServerLogin', 'lnkSrvLogin', 'lnkSrvPswd';
Затем проверьте это:
SELECT * FROM [serverLinkPseudonym].[DBName].[dbo].[TableName]