Configuración de servidores enlazados de SQL Server a SQL Server

, Author

Desde mi punto de vista, se trata de un problema de «HOP».

Es decir, estás tratando de utilizar el Servidor A para retransmitir tu información de acceso (con SSPI) al Servidor B.

En SQL Server 2005, han añadido toda una serie de problemas de seguridad que hacen que esto sea más difícil de lo que debería. Las palabras «Autenticación Kerberos» se convertirán en el baño de la vida para la mayoría de los administradores de sistemas/DBA. En realidad se utiliza para el inicio de sesión único.

Aquí tienes lo básico que necesitas. 1) Los servidores (A y B) deben estar configurados en Active Directory (AD) con la delegación para Kerberos activada. (esto se establece a través de su panel de administración de Active Directory)

2) La cuenta de servicio bajo la que se ejecutan sus servidores SQL también debe tener la delegación habilitada (esto también se establece a través de su panel de administración de Active Directory). – Si no se están ejecutando bajo una cuenta de servicio, debe crear una.

3) Los servidores deben tener SPNs establecidos para la instancia y el nombre del host y la máquina. (Utilizando una herramienta llamada SetSPN en las Herramientas de soporte de Windows)

Herramientas de soporte (SetSPN está en este conjunto) http://www.microsoft.com/downloads/details.aspx?FamilyID=96a35011-fd83-419d-939b-9a772ea2df90&DisplayLang=en

(Descripción general de la adición de un SPN) http://technet.microsoft.com/en-us/library/bb735885.aspx

4) Es posible que necesitepuede necesitar configurar su base de datos como «confiable»

ALTER DATABASE SET trustworthy on

5) Una vez que todo esto se ha completado, reinicie sus instancias.

6) Intente crear su servidor vinculado de nuevo.

Por último, puede probar su conexión a SQL Server. Esto debería funcionar bien si tienes todo configurado correctamente.

SELECT *FROM OPENDATASOURCE('SQLNCLI', 'Data Source=ServerB;Integrated Security=SSPI;' ).MASTER.dbo.syscolumns

Esto te dirá el tipo de autenticación de tu conexión.

select auth_scheme from sys.dm_exec_connections where [email protected]@SPID

Quieres obtener «KERBEROS» aquí y no «NTLM».

Es un terreno resbaladizo, KERBEROS y delegación de paso, respétalo y lo acabarás consiguiendo.

Referencias de Kerberos http://blogs.msdn.com/sql_protocols/archive/2005/10/12/479871.aspx

http://blogs.msdn.com/sql_protocols/archive/2006/12/02/understanding-kerberos-and-ntlm-authentication-in-sql-server-connections.aspx

http://blogs.iis.net/brian-murphy-booth/archive/2007/03/09/the-biggest-mistake-serviceprincipalname-s.aspx

Otras manifestaciones del problema http://www.sqlservercentral.com/Forums/Topic460425-359-1.aspx

http://msdn2.microsoft.com/en-us/library/aa905162(sql.80).aspx

http://msdn2.microsoft.com/en-us/library/ms189580.aspx

Espero que todo esto ayude.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *