CORRECÇÃO: Mensagem de erro quando utiliza o fornecedor de cliente nativo do SQL Server para executar consultas entre dois servidores ligados no SQL Server 2005 Service Pack 1: "Falha de início de sessão para o utilizador 'NT AUTHORITY\ANONYMOUS LOGON'"

Traduções de Artigos Traduções de Artigos
Artigo: 925843 - Ver produtos para os quais este artigo se aplica.
N.º de bugs: 50000288 (correcção SQL)
N.º de bugs: 50000204 (correcção SQL)
Para obter mais informações sobre como resolver este problema no Microsoft SQL Server 2005, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base:
925001CORRECÇÃO: Mensagem de erro quando executar consultas entre dois SQL Server 2005 servidores ligados: "Falha de início de sessão para o utilizador 'NT AUTHORITY\ANONYMOUS LOGON'"

A Microsoft distribui correcções Microsoft SQL Server 2005 como um ficheiro transferível. Uma vez que as correcções são cumulativas, cada nova versão contém todas as correcções e todas as correcções de segurança incluídas com o SQL Server 2005 anterior corrigir lançamento.
Expandir tudo | Reduzir tudo

Nesta página

Sumário

Este artigo descreve o seguinte sobre esta versão de correcção:
  • Problemas corrigidos pelo pacote de correcção
  • Os pré-requisitos para aplicar o pacote de correcções
  • Informações sobre se tem de reiniciar o computador depois de aplicar o pacote de correcções
  • Informações sobre se o pacote de correcções é substituído por qualquer outro pacote de correcção
  • Informações sobre se terá de efectuar quaisquer alterações de registo depois de aplicar o pacote de correcções
  • Ficheiros contidos no pacote de correcção

Sintomas

No Microsoft SQL Server 2005 Service Pack 1 (SP1), utilize o fornecedor de cliente nativo do SQL Server para executar consultas entre dois servidores ligados do SQL Server 2005. Depois de o fazer, poderá receber a seguinte mensagem de erro:
Falhou o início de sessão para o utilizador 'NT AUTHORITY\ANONYMOUS LOGON'
Recebe esta mensagem de erro se as seguintes condições forem verdadeiras:
  • Utilizar o protocolo de TCP/IP.
  • Activar a autenticação Kerberos para a ligação entre os computadores ligados.
Normalmente, todas as consultas na sessão falharem e receberá a mesma mensagem de erro. Este problema continua até que a origem de serviço SQL Server é reiniciada.

notas
  • Não pode executar a instrução DBCC FREESESSIONCACHE para resolver este problema.
  • Este artigo aborda uma causa possível desta mensagem de erro. A correcção mencionada neste artigo só irá resolver este problema se o cenário é idêntico ao cenário descrito aqui.

Causa

Este problema ocorre devido a um problema no fornecedor de cliente nativo do SQL Server. As alças que cria a ligação de Kerberos para alguns módulos de ligação são libertadas prematuramente.

Resolução

Informações sobre Service Packs

Para resolver este problema, obtenha o service pack mais recente para o SQL Server 2005. Para obter mais informações, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base:
913089Como obter o service pack mais recente para o SQL Server 2005

Informações sobre a correcção

Está disponível a partir da Microsoft uma correcção suportada. No entanto, esta correcção destina-se a corrigir o problema descrito neste artigo. Aplique esta correcção apenas em sistemas que tenham este problema específico. Esta correcção poderá submetida a testes adicionais. Por conseguinte, se não estiver a ser gravemente afectado por este problema, recomendamos que aguarde pela próxima actualização de software que contenha esta correcção.

Se a correcção está disponível para transferência, existe uma secção "denominada transferência de correcção disponível" na parte superior deste artigo da base de dados de conhecimento. Se esta secção não for apresentado, contacte o serviço de cliente do Microsoft e suporte para obter a correcção.

Nota Se ocorram problemas adicionais ou se for necessária qualquer resolução de problemas, poderá ter de criar um pedido de assistência separado. Os custos normais do suporte serão aplicados a problemas adicionais e questões de suporte que não se enquadrem esta correcção específica. Para obter uma lista completa dos números de telefone do suporte de cliente do Microsoft ou para criar um pedido serviço separado, visite o seguinte Web site da Microsoft:
http://support.microsoft.com/contactus/?ws=support
Nota O formulário "Transferência de correcção disponível" apresenta os idiomas para a qual a correcção está disponível. Se não vir o idioma, é porque uma correcção não está disponível para esse idioma.

Pré-requisitos

Tem de ter o SQL Server 2005 Service Pack 1 (SP1) instalado para aplicar esta correcção.

Para obter mais informações sobre como obter o SQL Server 2005 Service Pack 1, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base:
913089Como obter o service pack mais recente para o SQL Server 2005

Informações sobre reinício

Não é necessário reiniciar o computador depois de aplicar esta correcção.

Informações de registo

Não é necessário alterar o registo.

Informações sobre ficheiros da correcção

Esta correcção contém apenas os ficheiros necessários para corrigir os problemas referidos neste artigo. Esta correcção não pode conter de todos os ficheiros que necessita para actualizar completamente um produto para a compilação mais recente.

A versão inglesa desta correcção tem os atributos de ficheiro (ou atributos de ficheiro posteriores) listados na seguinte tabela. As datas e horas destes ficheiros são indicadas na hora universal coordenada (UTC). Quando visualiza as informações do ficheiro, é convertido para a hora local. Para determinar a diferença entre a UTC e a hora local, utilize o separador fuso horário no item Data e hora no painel de controlo.
Microsoft SQL Server 2005, arquitectura Itanium
Reduzir esta tabelaExpandir esta tabela
Nome de ficheiroVersão do ficheiroTamanho do ficheiroDataTempoPlataforma
Sqlncli.dll2005.90.2193.05,400,40823-Set-200612: 01IA-64
Sqlnclir.rll2005.90.1399.0205,01614-Oct-200521: 39Não aplicável
Sqlncli.dll2005.90.2193.02,223,44823-Set-200608: 31x 86
Sqlnclir.rll2005.90.1399.0205,52814-Oct-200510: 48Não aplicável
Microsoft SQL Server 2005 x 64
Reduzir esta tabelaExpandir esta tabela
Nome de ficheiroVersão do ficheiroTamanho do ficheiroDataTempoPlataforma
Sqlncli.dll2005.90.2193.02,855,25623-Set-200619: 54x 64
Sqlnclir.rll2005.90.1399.0206,04014-Oct-200521: 31Não aplicável
Sqlncli.dll2005.90.2193.02,223,44823-Set-200608: 31x 86
Sqlnclir.rll2005.90.1399.0205,52814-Oct-200510: 48Não aplicável
Microsoft SQL Server 2005, x 86
Reduzir esta tabelaExpandir esta tabela
Nome de ficheiroVersão do ficheiroTamanho do ficheiroDataTempoPlataforma
Sqlncli.dll2005.90.2193.02,223,44823-Set-200608: 31x 86
Sqlnclir.rll2005.90.1399.0205,52814-Oct-200510: 48Não aplicável

Como contornar

Para contornar este problema, configure a ligação entre os dois servidores ligados do SQL Server para utilizar o protocolo de pipes nomeados em vez do protocolo TCP/IP. O protocolo Named Pipes não utiliza a autenticação Kerberos ao nível do SQL Server. Para configurar a ligação, siga estes passos.

Nota Nestes passos, o nome do servidor de origem é servidor1 e o nome do servidor de destino é Server 2.
  1. Certifique-se que o protocolo Named Pipes está activado nos servidores ligados.

    Para determinar se o protocolo Named Pipes está activado em ambos ligados servidores, execute o seguinte comando numa linha de comandos no computador de origem que está a executar o SQL Server:
    sqlcmd ?E ?snp:Server2
    Se este comando falhar, o protocolo Named Pipes provavelmente não está activado um ou ambos do SQL Server servidores ligados. Para activar o protocolo Named Pipes, utilize o Gestor de configuração do SQL Server.
  2. Se o comando no passo 1 tiver êxito, utilize um dos seguintes métodos:
    • Largue a configuração de servidor ligado existente.
    • Cria uma nova configuração de servidor ligado que utiliza um nome diferente e o protocolo Named Pipes. Server 1, execute as seguintes instruções configurar um servidor ligado que utiliza o protocolo de pipes nomeados para ligar ao Servidor2:
      EXEC sp_addlinkedserver @ servidor = 'Servidor2', @ srvproduct = '' @ fornecedor = 'SQLNCLI', @ datasrc = 'np:Server2', @ provstr = ' Integrated Security = SSPI '
  3. Server 1, abra o SQL Server Management Studio e, em seguida, crie uma nova consulta.
  4. Na janela de consulta, execute a seguinte consulta de servidor ligado para o Servidor2 para determinar se é utilizado o protocolo de pipes nomeados:
    Seleccione net_transport, auth_scheme de Server2.master.sys.dm_exec_connections onde session_id=@@spid
    Se está a ser utilizado o protocolo Named Pipes, receberá o seguinte resultado:
    net_transport		auth_scheme
    -------------		---------------
    Named pipe		NTLM

Ponto Da Situação

A Microsoft confirmou que este é um problema nos produtos da Microsoft listados na secção "Aplica-se a". Este problema foi corrigido pela primeira vez no SQL Server 2005 Service Pack 2.

Referências

Para obter mais informações sobre o esquema de atribuição de nomes para actualizações do Microsoft SQL Server, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base:
822499Novo esquema de atribuição de nomes de ficheiros para pacotes de actualização de software do Microsoft SQL Server
Para obter mais informações sobre a terminologia de actualização de software, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base:
824684Descrição da terminologia padrão utilizada para descrever actualizações de software da Microsoft

Propriedades

Artigo: 925843 - Última revisão: 4 de novembro de 2007 - Revisão: 2.3
A informação contida neste artigo aplica-se a:
  • Microsoft SQL Server 2005 Service Pack 1
Palavras-chave: 
kbmt kbautohotfix kbsql2005connect kbhotfixserver kbexpertiseadvanced kbqfe kbprb kbfix KB925843 KbMtpt
Tradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine translation ou MT), não tendo sido portanto revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 925843

Submeter comentários

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com