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

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

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

Требования для делегирования

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

ms189580.note(ru-ru,SQL.90).gifПримечание.
На связанном сервере должно быть настроено делегирование, даже когда приложение клиента (в том числе среда SQL Server Management Studio), устанавливающее связь с сервером, находится на одном компьютере с запрашиваемым экземпляром SQL Server.

Требования для клиента

  • Имя входа Windows пользователя должно иметь разрешения на доступ к SQLSERVER1 и SQLSERVER2.
  • Не должно быть установлено свойство пользователя Учетная запись точна и не может быть делегирована в Active Directory.
  • Клиентский компьютер должен использовать сетевые соединения по протоколу TCP/IP или именованным каналам.

Требования для первого или среднего сервера (SQLSERVER1)

  • У сервера должно быть имя SPN, зарегистрированное администратором домена.

  • Учетная запись, под которой работает SQL Server, должна быть доверенной для делегирования.

  • Сервер должен использовать сетевые соединения по протоколу TCP/IP или именованным каналам.

  • Второй сервер, SQLSERVER2, должен быть добавлен в качестве связанного сервера. Это можно сделать, выполнив хранимую процедуру sp_addlinkedserver. Например:

    EXEC sp_addlinkedserver 'SQLSERVER2', N'SQL Server'
    
  • Имена входа связанного сервера должны быть настроены для сопоставления с собой. Это можно сделать, выполнив хранимую процедуру sp_addlinkedsrvlogin. Например:

    EXEC sp_addlinkedsrvlogin 'SQLSERVER2', 'true'
    

Требования для второго сервера (SQLSERVER2)

  • При использовании сетевых соединений по протоколу TCP/IP сервер должен иметь SPN, зарегистрированный администратором домена.
  • Сервер должен использовать сетевые соединения по протоколу TCP/IP или именованным каналам.

См. также

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

Связь серверов

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

sp_addlinkedserver (Transact-SQL)

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

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

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

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

17 июля 2006 г.

Измененное содержимое
  • Добавлены сведения о том, что сетевые соединения по именованным каналам также могут быть использованы при настройке связанных серверов для делегирования.

17 июля 2006 г.

Новое содержимое
  • Добавлено примечание о том, что на связанном сервере также должно быть настроено делегирование, даже когда приложение клиента, устанавливающее связь с сервером, находится на одном компьютере с запрашиваемым экземпляром SQL Server.