SQL Server 2008: la connexion provient d'un domaine non approuvé et ne peut pas être utilisée avec l'authentification Windows

8

La question ici est différente de 1 & 2

Lorsque je tente de me connecter à une base de données SQL Server qui se trouve sur un autre système du réseau, les deux sont dans un groupe de travail, lorsque je tente de me connecter à une instance SQL Server 2008 à l'aide de SQL Server Management Studio avec authentification Windows, je me connecte.

Mais lorsque j'essaie de me connecter à partir de mon application, j'obtiens l'erreur suivante

(La connexion a échoué. La connexion provient d'un domaine non approuvé et ne peut pas être utilisée avec l'authentification Windows.) Native = 18452).

Si SQL Server Management Studio peut se connecter, que faudrait-il pour que mon application se connecte?

Communauté
la source
Cela a fonctionné après avoir utilisé le même compte que sur le serveur mssql.

Réponses:

4

Étant donné que vous exécutez dans un groupe de travail, la seule authentification possible est celle utilisant des `` comptes NT en miroir '' , ce qui signifie que le processus essayant de s'authentifier doit s'exécuter sous une identité qui est `` en miroir '' sur l'hôte qui authentifie le processus. Les comptes en miroir sont des comptes locaux distincts avec un nom et un mot de passe identiques sur les deux hôtes effectuant l'authentification.

Il doit donc s'ensuivre que vous exécutez SSMS à partir d'un compte qui est mis en miroir sur l'hôte SQL Server (par exemple <computername>\Administrator, qui est mis en miroir par le <sqlhost>\Administratoret a le même mot de passe). Notez que l'UAC n'a rien à faire ici (c'est running as administrator-à- dire n'aidera pas).

Votre application s'exécute probablement sous un autre compte local (appool IIS par défaut peut-être?) Et le compte sous lequel l'application s'exécute n'est pas mis en miroir sur l'hôte SQL Server.

Votre meilleure solution consiste à abandonner le réseau de fortune et à déployer un AD (domaine) approprié. À titre d'intermédiaire, assurez- vous que vous exécutez votre application sous un compte qui est en miroir sur Thew machine hôte SQL Server.

Remus Rusanu
la source
Oui, l'authentification doit être mise en miroir!. Mon application, qui est un service, s'exécutait sous un compte Windows différent (x) que SQL Server Management Studio. Ce compte Windows (x) est également présent dans l'autre système, mais les deux avaient des mots de passe différents !!!!!!! J'ai fait le même mot de passe dans les deux systèmes et cela a fonctionné. Merci beaucoup !!
5

Si vous utilisez Windows 7, vous devrez peut-être "exécuter en tant qu'administrateur". Cela permettra à l'application de réutiliser vos informations d'identification Windows et de les transmettre à SQL Server. Sinon, vous transmettrez les informations d'identification d'invité à SQL Server.

tgolisch
la source
3
Peu probable. L'UAC n'influence que les interactions locales. Il n'affecte pas l'authentification avec un hôte distant.
Remus Rusanu