Configurar servidores vinculados para la delegación

Puede configurar SQL Server y Windows para permitir que un cliente conectado a una instancia de SQL Server se conecte a otra instancia de SQL Server por medio del envío de las credenciales de un usuario de Windows autenticado. Esto se conoce como delegación. En una delegación, la instancia de SQL Server a la que se ha conectado un usuario de Windows mediante la autenticación de Windows representa al usuario cuando se comunica con otra instancia. En el caso de consultas distribuidas, se requiere la delegación de cuentas de seguridad cuando se usa una asignación automática para un inicio de sesión específico en un servidor vinculado concreto.

Requisitos de la delegación

Para ilustrar los requisitos de la delegación, imagine la situación siguiente: un usuario inicia una sesión en un equipo cliente que está conectado a un servidor en el que se ejecuta una instancia de SQL Server, SQLSERVER1. El usuario desea ejecutar una consulta distribuida en una base de datos en un servidor vinculado, SQLSERVER2. Este escenario, en el que un equipo se conecta a otro para conectarse a un tercero, se denomina salto doble.

Nota

Se debe configurar un servidor vinculado para la delegación aunque una aplicación cliente, incluso SQL Server Management Studio, que establezca una conexión con el servidor esté en el mismo equipo que la instancia de SQL Server sobre la que se realiza la consulta.

Requisitos del cliente

  • El inicio de sesión del usuario con autenticación de Windows debe tener permisos de acceso a SQLSERVER1 y SQLSERVER2

  • La propiedad de Active Directory del usuario, La cuenta es importante y no se puede delegar debe estar desactivada.

  • El equipo cliente debe estar utilizando conectividad de red de canalizaciones con nombre o TCP/IP.

Requisitos del servidor primero e intermedio (SQLSERVER1)

  • El servidor debe tener un SPN registrado por el administrador del dominio.

  • La cuenta bajo la que se ejecuta SQL Server debe ser de confianza para la delegación.

  • El servidor debe estar utilizando conectividad de red de canalizaciones con nombre o TCP/IP.

  • El segundo servidor, SQLSERVER2, se debe agregar como servidor vinculado. Para ello, se puede ejecutar el procedimiento almacenado sp_addlinkedserver. Por ejemplo:

    EXEC sp_addlinkedserver 'SQLSERVER2', N'SQL Server'
    
  • Los inicios de sesión en el servidor vinculado deben estar configurados para la asignación automática. Para ello, se puede ejecutar el procedimiento almacenado sp_addlinkedsrvlogin. Por ejemplo:

    EXEC sp_addlinkedsrvlogin 'SQLSERVER2', 'true'
    

Requisitos del segundo servidor (SQLSERVER2)

  • Si usa la conectividad de red TCP/IP, el servidor debe tener un SPN registrado por el administrador de dominio.

  • El servidor debe estar utilizando conectividad de red de canalizaciones con nombre o TCP/IP.