SQL Server 2008: O logon é de um domínio não confiável e não pode ser usado com autenticação do Windows

8

A questão aqui é diferente de 1 e 2

Ao tentar conectar-me a um banco de dados do SQL Server que está em outro sistema da rede, ambos estão no grupo de trabalho. Ao tentar me conectar a uma instância do SQL Server 2008 usando o SQL Server Management Studio com autenticação do Windows, eu me conecto.

Mas ao tentar me conectar a partir do meu aplicativo, recebo o seguinte erro

(Falha no logon. O logon é de um domínio não confiável e não pode ser usado com autenticação do Windows.) Nativo = 18452).

Se o SQL Server Management Studio puder se conectar, o que seria necessário para o meu aplicativo se conectar?

Comunidade
fonte
Funcionou depois que eu usei a mesma conta do servidor mssql.

Respostas:

4

Como você está executando em um grupo de trabalho, a única autenticação possível é aquela usando 'contas NT espelhadas' , o que significa que o processo que tenta se autenticar deve estar em execução com uma identidade 'espelhada' no host que está autenticando o processo. Contas 'espelhadas' são contas locais distintas com nome e senha idênticos nos dois hosts que fazem a autenticação.

Portanto, é necessário que você esteja executando o SSMS a partir de uma conta que seja espelhada no host do SQL Server (por exemplo <computername>\Administrator, que é espelhado pelo <sqlhost>\Administratore tenha a mesma senha). Observe que o UAC não tem nada a ver aqui (ou seja running as administrator, não vai ajudar).

Seu aplicativo provavelmente está sendo executado em uma conta local diferente (o IIS padrão talvez seja?) E a conta na qual o aplicativo é executado não é espelhada no host do SQL Server.

Sua melhor solução é abandonar a rede improvisada e implantar um AD (domínio) adequado. Como interino, certifique-se de executar o aplicativo em uma conta que é espelhada em thew máquina host SQL Server.

Remus Rusanu
fonte
Sim, a autenticação precisa ser espelhada! Meu aplicativo, que é um serviço, estava sendo executado em uma conta do Windows diferente (x) do SQL Server Management Studio. Essa conta do Windows (x) também está presente no outro sistema, mas ambas tinham senhas diferentes !!!!!!! Fiz a mesma senha nos dois sistemas e funcionou. Muito obrigado !!
5

Se você estiver usando o Windows 7, talvez seja necessário "executar como administrador". Isso permitirá que o aplicativo reutilize suas credenciais do Windows e as passe para o SQL Server. Caso contrário, você passará credenciais de convidado para o SQL Server.

tgolisch
fonte
3
Improvável. O UAC influencia apenas as interações locais. Não afeta a autenticação com um host remoto.
Remus Rusanu