Configuração de SQL Server to SQL Server Linked Server

, Author

A partir da minha compreensão deste problema, é um problema “HOP”.

i.e., está a tentar utilizar o Servidor A para transmitir a sua informação de login (com SSPI) ao Servidor B.

No SQL Server 2005, adicionaram toda uma série de problemas de segurança que tornam isto mais difícil do que deveria ser. As palavras “Kerberos Authentication” tornar-se-ão o banho da vida para a maioria dos administradores de sistemas/ADBs. É realmente utilizado para single sign-on.

p>Aqui estão as bases do que precisa. 1) Os servidores (A e B) devem ser configurados em Active Directory (AD) com delegação para Kerberos activada. (isto é definido através do seu painel de administração do Active Directory)

2) A conta de serviço sob a qual os seus servidores SQL funcionam também deve ter a delegação activada (isto também é definido através do seu painel de administração do Active Directory). – Se não estiverem a correr sob uma conta de serviço, deve criar um.

3) Os servidores devem ter SPNs definidos para a instância e nome do anfitrião e da máquina. (Usando uma ferramenta chamada SetSPN em Ferramentas de Suporte do Windows)

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

(Overview of adding an SPN) http://technet.microsoft.com/en-us/library/bb735885.aspx

4) Poderá ter depode ter de definir a sua base de dados como “fidedigna”

ALTER DATABASE SET trustworthy on

5) Uma vez que tudo isto esteja completo, reinicie as suas instâncias.

6) Tente criar novamente o seu servidor ligado.

Finalmente, pode testar a sua ligação ao SQL Server. Isto deve funcionar bem se tiver tudo correctamente configurado.

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

Isto dir-lhe-á o tipo de autenticação da sua ligação.

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

Você quer obter “KERBEROS” aqui e não “NTLM”.

É uma inclinação escorregadia, KERBEROS e delegação passageira, respeite-a e acabará por recebê-la.

referências 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

Outras manifestações do 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 tudo isto ajude.

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *