PRB: Mensagem de erro "Não capaz de estabelecer ligação" ao ligar do ASP ao SQL Server


Sintomas


Ao abrir uma ligação no código Ative Server (ASP) para O Servidor SQL num computador separado do servidor Web, uma destas mensagens de erro semelhantes pode aparecer:
Microsoft OLE DB Provider for ODBC Drivers error '80004005'[Microsoft][ODBC SQL Server Driver]Cliente incapaz de estabelecer conexão/asppage.asp, linha xxx
- ou...
Microsoft OLE DB Provider for SQL Server error '80004005'[DBNMPNTW]ConnectionOpen (CreateFile())./asppage.asp, linha xxx
- ou...
Microsoft OLE DB Provider for ODBC Drivers error '80040ed'[Microsoft][ODBC SQL Server Driver][SQL Server]Login falhou para o utilizador 'NT Authority\Anonymous Logon'./asppage.asp, linha xxx

Causa


Este erro ocorre se o modo de segurança SQL Server for definido apenas para o Microsoft Windows NT e a conta NT que está a ser utilizada para autenticar o utilizador no computador IIS (como IUSR_computer para acesso iis anónimo) não tiver permissões para se ligar ao computador NT do servidor NT do SQL remoto.

Resolução


Utilização do IIS Acesso Anónimo
  1. Utilizando a Ferramenta de Gestor de Utilizador da NT, crie uma conta NT idêntica, como IUSR_localcomputer, no computador NT do servidor NT do sql remoto. Dê à conta uma senha semelhante e dê-lhe o direito de "Iniciar Sessão Local".
  2. Utilizando o Internet Service Manager, abra a Folha de Propriedades do diretório virtual para a aplicação Web, selecione o separador De segurança do Diretório, clique no botão Editar para Acesso Anónimo e Controlo de Autenticação para exibir os Métodos de Autenticação. Clique no botão Editar para permitir o acesso anónimo para editar a conta NT utilizada para acesso anónimo e, em seguida, limpar a caixa de verificação Ativar a Sincronização automática da palavra-passe. Guarde as alterações clicando EM para fechar a caixa de diálogo. Este segundo passo é necessário devido a problemas de delegação de contas com a NT.
Utilização da autenticação básica do IIS
  1. Consulte os passos anteriores se os utilizadores iniciarem seduca no IIS utilizando contas locais para o servidor NT com IIS quando solicitado para o nome de utilizador e palavra-passe pelo navegador.
  2. Se os utilizadores assinarem utilizando uma conta de domínio e ambos os computadores NT para IIS e SQL Server estiverem no mesmo domínio, certifique-se de que as contas têm o direito de "Aceder a este computador a partir de uma Rede" no computador NT do SQL Server, direta ou indiretamente, com base nos direitos atribuídos a um grupo do qual a conta é membro.