В MSSQL Server 2008 и более поздних версиях есть какие-либо существенные различия между "sp_addlinkedserver" и использованием зарегистрированных серверов?
Я ищу, чтобы создать представление SQL, который использует данные с нескольких серверов. Все это MS SQL Server 2008 и более поздние
Насколько я понимаю, есть два способа получить доступ к другим серверам:
Использование хранимой процедуры "sp_addlinkedserver"
Использование пользовательского интерфейса Management Studio для регистрации новых серверов (дополнительная информация здесь: http://msdn.microsoft.com/en-us/library/bb934126.aspx)
Мне было интересно, есть ли какие-либо существенные различия в любом подходе с точки зрения создания представления, или оба будут работать нормально? И в качестве дополнительного вопроса, есть ли обычно в студии управления параметры безопасности, которые мне нужно было бы изменить, чтобы в первую очередь публиковать представления с разных серверов?
1 ответ
Sp_addlinkedserver просто выполняет связывание, просто создавая запись в sysservers. Это не позволит вам делать удаленные запросы. Достаточно, например, разрешить настройку связанного сервера в качестве подписчика репликации.
Выполнение этого через пользовательский интерфейс делает sp_addlinkedserver плюс другие вызовы. Вы можете проверить это, запустив профилировщик. В пользовательском интерфейсе есть вкладка безопасности, которую необходимо ввести в учетные данные, а также вкладка параметров сервера, которая фактически разрешает распределенные запросы. Например, параметры "доступ к данным", а также "продвижение транзакций удаленных процедур".
Вы можете сделать все это вручную, либо запустить только SP, а затем изменить параметры, щелкнув правой кнопкой мыши по серверу.