CORRECÇÃO: Recebe uma mensagem de erro "Não é possível gerar contexto SSPI" quando tenta se conectar a um computador de servidor do SQL Server 2000 SP3

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 traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.

Clique aqui para ver a versão em Inglês deste artigo: 843248
Sumário
Quando você tenta se conectar a um computador de servidor do Microsoft SQL Server 2000 Service Pack 3 (SP3) a partir de um computador cliente, a conexão falha com uma mensagem de erro se o nome do servidor não puder ser resolvido do endereço IP (Internet Protocol). Esse comportamento ocorre porque SQLOLEDB interpreta incorretamente o valor de retorno da função ConnectionGetSvrUser dbnetlib.
  • um hotfix resolve esse problema.
  • para solucionar esse problema, crie manualmente uma entrada de host para o endereço IP no computador cliente.
  • para reproduzir o problema, criar e configurar o endereço IP dinâmico do computador servidor e em seguida, conectar ao computador servidor usando o SQL Query Analyzer ou o Visualizador de conjunto de linhas de um computador cliente.
Sintomas
Quando você tenta conectar-se um computador cliente a um computador de servidor do Microsoft SQL Server 2000 SP3, o nome do servidor não pode ser resolvido do endereço IP (Internet Protocol) e a conexão falhar.

Quando você se conecta ao servidor SQL Server 2000 SP3 com o SQL Query Analyzer, você receber a seguinte mensagem de erro:
Servidor: Mensagem 11004, nível 16, estado 1
[Microsoft][ODBC SQL Server Driver]Não é possível gerar contexto SSPI
Quando você usa o SQL Server OLE DB Provider (SQLOLEDB) para se conectar a um computador de servidor do SQL Server 2000 usando o Visualizador de conjunto de linhas, você receber a seguinte mensagem de erro:
Fonte: "Microsoft OLE DB Provider para SQL Server"

Interface: IID_IDBInitialize
Resultado: 0 x 80004005 = E_FAIL

ISQLErrorInfo: [HY000] [0x00002afc]
IErrorInfo: [0x00002afc] "Não é possível gerar contexto SSPI"

Arquivo: D:\MDACTools\rowsetviewer\CBase.cpp
Linha: 1067
Causa
Quando SQLOLEDB chama a função ConnectionGetSvrUser da biblioteca dbnetlib, ele interpreta incorretamente que essa função retorna um valor booleano. A função ConnectionGetSvrUser é projetada para retornar um void. Por isso, que reside no Registro EAX se torna o valor de retorno.

A função ConnectionGetSvrUser internamente chama a função gethostbyaddr . A função gethostbyaddr obtém o nome de host que corresponde a um endereço IP específico. Se a função gethostbyaddr falhar, ele retorna um caractere zero para o registrador EAX. Portanto, a função ConnectionGetSvrUser retorna um valor Falso . Esse comportamento faz com que uma falha de logon ao computador do servidor SQL Server 2000 SP3.
Resolução
Um hotfix suportado está disponível no Microsoft. No entanto, esse hotfix destina-se a corrigir o problema descrito neste artigo. Aplique-o somente aos sistemas que apresentarem esse problema específico.

Se o hotfix está disponível para download, há uma seção "Download de Hotfix disponível" na parte superior neste artigo da Base de dados de Conhecimento. Se esta seção não for exibido, envie uma solicitação para suporte e atendimento ao cliente Microsoft para obter o hotfix.

Observação Se ocorrerem problemas adicionais ou se qualquer solução de problemas é necessária, talvez você precise criar uma solicitação de serviço separada. Os custos normais de suporte serão aplicados a questões de suporte adicionais e problemas que não se qualificam para esse hotfix específico. Para obter uma lista completa de números de telefone de suporte e Atendimento Microsoft ou para criar uma solicitação de serviço separada, visite o seguinte site: Observação O formulário "Download de Hotfix disponível" exibe os idiomas para os quais o hotfix está disponível. Se você não vir seu idioma, é porque um hotfix não está disponível para esse idioma.A versão em inglês deste hotfix apresenta os atributos de arquivo (ou posteriores) listados na tabela a seguir. As datas e horas desses arquivos são listadas na acordo hora universal coordenada (UTC). Quando você exibe as informações do arquivo, ele é convertido para a hora local. Para encontrar a diferença entre o UTC e a hora local, use a guia fuso horário na ferramenta Data e hora no painel de controle.
  Date         Time   Version            Size    File name   --------------------------------------------------------------    15-Jun-2004  00:22  2000.85.1045.0     28,672  Dbnmpntw.dll        15-Jun-2004  00:21  2.80.1045.0       147,456  Msadds.dll          15-Jun-2004  00:21  2.80.1045.0       512,000  Msado15.dll         15-Jun-2004  00:21  2.80.1045.0       163,840  Msadomd.dll         15-Jun-2004  00:21  2.80.1045.0       184,320  Msadox.dll          15-Jun-2004  00:21  2.80.1045.0        53,248  Msadrh15.dll        15-Jun-2004  00:21  2.80.1045.0       225,280  Msdaora.dll         15-Jun-2004  00:21  2.80.1045.0       147,456  Msdart.dll          15-Jun-2004  00:21  2.575.1045.0      139,264  Msorcl32.dll        15-Jun-2004  00:21  3.525.1045.0      221,184  Odbc32.dll          15-Jun-2004  00:22  2000.85.1045.0     24,576  Odbcbcp.dll         15-Jun-2004  00:21  2.80.1045.0       442,368  Oledb32.dll         15-Jun-2004  00:21  2000.85.1045.0    503,808  Sqloledb.dll        15-Jun-2004  00:21  2000.85.1045.0    401,408  Sqlsrv32.dll        15-Jun-2004  00:08  2000.85.1045.0    208,896  Sqlxmlx.dll                                  
Como Contornar
Para contornar este problema, crie manualmente uma entrada de host no computador cliente para o endereço IP que você deseja se conectar.
  1. Inicie o Windows Explorer.
  2. Localize o arquivo hosts e abra o arquivo no bloco de notas.

    Observação Você pode localizar o arquivo no caminho % systemroot%\System32\Drivers\Etc.
  3. Adicione o seguinte no final do arquivo:
    Random IP Computer Name

    Observação Random IP é um espaço reservado para o endereço IP que não está em uso por outro computador na rede. Computer Name é um espaço reservado para o nome do computador que tem o SQL Server 2000 SP3 em execução. O endereço IP Random IP e o nome do Computer Name devem ser separados pelo menos um espaço.
  4. No menu arquivo , clique em Salvar .
  5. Feche o arquivo.
Situação
A Microsoft confirmou que este é um problema nos produtos da Microsoft listados na seção "Aplica-se a".
Mais Informações

Etapas para reproduzir o problema

Configurar o endereço IP dinâmico

  1. Faça logon como um administrador no computador que está executando o SQL Server 2000 SP3.
  2. No painel de controle, clique duas vezes em Conexões de rede .
  3. Clique duas vezes a conexão de área local que você deseja modificar.
  4. Na caixa de diálogo Status de conexão local , clique em Propriedades . A caixa de diálogo Propriedades de conexão local será exibida.
  5. Na caixa esta conexão usa estes itens , clique em Protocolo Internet (TCP/IP) e, em seguida, clique em Propriedades . A caixa de diálogo Internet Protocol (TCP/IP) Properties é exibida.
  6. Clique em obter um endereço IP automaticamente e, em seguida, clique em OK .
  7. Na caixa de diálogo Propriedades de conexão local , clique em Fechar .
  8. Na caixa de diálogo Status de conexão local , clique em Fechar .
  9. Clique em Iniciar , clique em Executar , digite cmd e, em seguida, clique em OK .
  10. No prompt de comando, digite ping Computer Name e, em seguida, pressione ENTER.

    Observação Computer Name é um espaço reservado para o nome do computador que está executando o SQL Server 2003

    Você receber uma mensagem de erro semelhante à seguinte:
    Ping Computer Name [Dynamic IP] com 32 bytes de dados:

    Resposta de Dynamic IP: bytes = 32 tempo < 1ms TTL = 128
    Resposta de Dynamic IP: bytes = 32 tempo < 1ms TTL = 128
    Resposta de Dynamic IP: bytes = 32 tempo < 1ms TTL = 128

    Estatísticas de ping para Dynamic IP:
    Pacotes: Enviados = 4, recebidos = 4, perdidos = 0 (0 % de perda),
    Aproximar tempos de viagem em milissegundos:
    Mínimo = 0ms, Máximo = 0ms, Média = 0ms
    Observação Dynamic IP é um espaço reservado para o IP dinâmico do computador Computer Name.
  11. Para encerrar o prompt de comando, digite exit e pressione ENTER.
  12. Repita as etapas de c a e clique em usar o seguinte endereço IP .
  13. Na caixa endereço IP , digite o endereço Dynamic IP.

    Observação Dynamic IP é um espaço reservado para o IP dinâmico do computador Computer Name.
  14. Na caixa máscara de sub-rede , digite a máscara de sub-rede para a sua rede.
  15. Na caixa gateway padrão , digite o endereço IP do computador ou do dispositivo na rede que conecta sua rede para outra rede ou à Internet.
  16. Na caixa servidor DNS preferencial , digite o endereço IP do computador que resolve nomes de host para endereços IP.
  17. Na caixa servidor DNS alternativo , digite o endereço IP do computador DNS que você deseja usar se o servidor DNS (Domain Name System) preferido não estiver disponível.
  18. Clique em Avançadas . As Configurações de TCP/IP avançadas é exibida.
  19. Em endereços IP , clique em Adicionar . A caixa de diálogo Endereço TCP/IP será exibida.
  20. Na caixa endereço IP , digite o endereço Random IP.

    Observação Random IP é um espaço reservado para o endereço IP que não está em uso por outro computador na rede.
  21. Na caixa máscara de sub-rede , digite a máscara de sub-rede para a sua rede e, em seguida, clique em Adicionar .
  22. Em Configurações de TCP/IP avançadas , clique em OK .
  23. Em Internet Protocol (TCP/IP) Properties clique em OK . Na caixa de diálogo Propriedades de conexão local , clique em Fechar . Na caixa de diálogo Status de conexão local , clique em Fechar .

Conectar-se ao computador do servidor SQL Server 2000 SP3 a partir de um computador cliente através de SQL Query Analyzer

  1. Inicie o SQL Query Analyzer. A caixa de diálogo conectar-se ao SQL Server será exibida.
  2. Na caixa SQL Server , digite Random IP.

    Observação Random IP é um espaço reservado para o endereço IP que não está em uso por outro computador na rede.
  3. Em conectar-se usando , clique em autenticação do Windows .
  4. Clique em OK . Você perceber a mensagem de erro mencionada na seção "Sintomas".

Conectar-se ao computador do servidor SQL Server 2000 SP3 a partir de um computador cliente através de visualizar o conjunto de linhas

  1. Inicie Visualizar de conjunto de linhas. A janela do Microsoft OLE DB RowsetViewer é exibida.
  2. No menu arquivo , clique em Conectar total . Caixa de diálogo Total conexão - não descrição disponíveis é exibida.
  3. Na lista provedor , clique em SQLOLEDB em conexão .
  4. Na caixa fonte de dados , digite Random IP em fonte .

    Observação Random IP é um espaço reservado para o endereço IP que não está em uso por outro computador na rede.
  5. Em logon , clique em DBPROMPT_NOPROMPT na lista Escolher .
  6. Na guia Propriedades , clique em Avançado . A caixa de diálogo IDBProperties::SetProperties será exibida.
  7. Clique para marcar a caixa de seleção DBPROP_AUTH_INTEGRATED e, em seguida, clique em OK .
  8. Na caixa de diálogo Total conexão - não descrição disponível , clique em OK . Você perceber a mensagem de erro mencionada na seção "Sintomas".
Observação O computador cliente e o computador do servidor SQL Server 2000 SP3 devem estar no mesmo domínio. Quando você tenta se conectar ao computador de servidor SQL Server 2000 SP3 com o Random IP do mesmo computador, ele se conecta ao computador do servidor SQL Server 2000 SP3 sem erro.
Referências
Para obter mais informações, visite os seguintes sites da Microsoft Developer Network (MSDN):Para obter informações adicionais, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
323444Como alterar o endereço IP de um adaptador de rede no Windows Server 2003
Para obter informações adicionais, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
824684Descrição da terminologia padrão que é usada para descrever as atualizações de software
SQLOLEDB; Visualizador de conjunto de linhas Query Analyzer; IP dinâmico; ConnectionGetSvrUser

Aviso: este artigo foi traduzido automaticamente

Propriedades

ID do Artigo: 843248 - Última Revisão: 09/11/2009 17:31:17 - Revisão: 4.0

Microsoft Data Access Components 2.8

  • kbmt kbautohotfix kbqfe kbhotfixserver kbsqlclient kbfix kberrmsg KB843248 KbMtpt
Comentários