Безопасность для связанных серверов

Изменения: 12 декабря 2006 г.

При соединении со связанным сервером (например, когда он обрабатывает распределенный запрос) отправляющий сервер указывает имя входа и пароль для подключения к принимающему серверу от его имени. Чтобы это соединение работало, необходимо создать сопоставление имен входа между связанными серверами с помощью системных хранимых процедур SQL Server.

Сопоставления имен входа для связанных серверов добавляются с помощью процедуры sp_addlinkedsrvlogin, а удаляются процедурой sp_droplinkedsrvlogin. При сопоставлении имен входа для связанного сервера устанавливаются удаленное имя входа и удаленный пароль для указанного связанного сервера и локального имени входа. При подключении сервера SQL Server к связанному серверу для выполнения распределенного запроса или хранимой процедуры SQL Server ищет сопоставления для текущего имени входа, выполняющего запрос или процедуру. Если сопоставление имени входа существует, SQL Server отправляет соответствующие удаленные имя входа и пароль при подключении к связанному серверу.

Например, сопоставление для связанного сервера S1 настроено на использование локального имени входа U1 для удаленного имени входа U2 с удаленным паролем 8r4li034j7$. При выполнении распределенного запроса под локальным именем входа U1, которое получает доступ к таблице, хранящейся на связанном сервере S1, в качестве пользовательского идентификатора и пароля для подключения SQL Server к связанному серверу S1 передаются U2 и 8r4li034j7$.

Установленное по умолчанию сопоставление в конфигурации связанного сервера предназначено для эмуляции текущих учетных данных безопасности для имени входа. Такое сопоставление называется самосопоставлением. При добавлении связанного сервера с помощью процедуры sp_addlinkedserver для всех локальных имен входа добавляется самосопоставление по умолчанию. Самосопоставление для проверенных имен входа в Windows поддерживается, если доступно делегирование учетных записей безопасности и связанный сервер поддерживает проверку подлинности Windows.

ms175537.note(ru-ru,SQL.90).gifПримечание.
По возможности используйте проверку подлинности Windows.

Самосопоставление не будет работать для имен входа, использующих проверку подлинности Windows, если делегирование учетных записей безопасности недоступно на сервере клиента либо отправляющем сервере, или же если связанный сервер или поставщик не распознает режима проверки подлинности Windows. Поэтому необходимо настроить локальное сопоставление имен входа от имени входа, использующего проверку подлинности Windows, к конкретному имени входа на связанном сервере, не поддерживающему такую проверку. В этом случае, если связанный сервер является экземпляром SQL Server, для удаленного имени входа будет использоваться проверка подлинности SQL Server.

На распределенные запросы распространяются разрешения, предоставленные удаленному имени входа связанным сервером на удаленную таблицу. Однако SQL Server не выполняет никакой проверки разрешений во время компиляции. Возможные нарушения разрешений выявляются только во время выполнения запроса при сообщении об этом поставщиком.

Тестирование связанных серверов

В SQL Server 2005 с пакетом обновления 2 (SP2) можно тестировать возможность подключения к связанному серверу. В обозревателе объектов щелкните правой кнопкой мыши связанный сервер и выберите пункт Проверить соединение.

См. также

Основные понятия

Связь серверов
Настройка связанных серверов для делегирования

Другие ресурсы

sp_addlinkedserver (Transact-SQL)
sp_addlinkedsrvlogin (Transact-SQL)
sp_droplinkedsrvlogin (Transact-SQL)
sp_dropserver (Transact-SQL)
sp_linkedservers (Transact-SQL)
sp_serveroption (Transact-SQL)

Справка и поддержка

Получение помощи по SQL Server 2005

Журнал изменений

Версия Журнал

12 декабря 2006 г.

Добавления
  • Добавлен раздел «Тестирование связанных серверов».