c# - une - test sql connection command line




Application ne peut pas ouvrir la connexion SQL lorsque sur IIS (2)

Cela se produit parce que vous avez demandé que la connexion soit établie à l'aide d'une connexion sécurisée, ce qui signifie que l'utilisateur du système d'exploitation que le code est en cours d'exécution sera celui qui se connecte à la base de données.

Dans le cas d'IIS, l'utilisateur du système d'exploitation est généralement défini dans le pool d'applications IIS, sauf si vous avez spécifié l'emprunt d'identité à utiliser dans web.config.

Par défaut (afin d'éviter les problèmes de sécurité), l'identité par défaut utilisée pour les pools d'applications IIS a une capacité très limitée. Selon votre configuration (où SQL Server est en relation avec IIS (même machine, différentes machines), vous devrez peut-être spécifier une identité différente pour le pool d'applications et / ou vous devrez peut-être accorder l'autorisation d'accès à SQL Server identité de la piscine.

Cet article Microsoft contient des informations supplémentaires sur la façon de configurer l'emprunt d'identité ASP.Net.

Nous configurons toujours nos applications Web pour usurper l'identité d'un utilisateur de domaine afin que nous puissions accéder aux bases de données et autres ressources sur des machines distantes sans avoir à affecter les paramètres du pool d'applications IIS.

J'ai une chaîne de connexion qui ressemble à ceci:

Server=.;Database=mydbname;Trusted_Connection=True;

Cela fonctionne correctement lorsque j'exécute / débogue mon application à l'aide de Visual Studio (IIS Express), mais après le déploiement sur IIS-8 il me lance une exception lors de l'ouverture de la connexion:

La connexion a échoué pour l'utilisateur 'IIS APPPOOL \ mysite'.

Je suis très confus pourquoi cela se produit pourquoi IIS ajoute son utilisateur au milieu quand la base de données n'exige pas un et pourquoi cela ne se produit pas avec IIS Express ?


Le fait d'avoir Trusted_Connection=true dans la chaîne de connexion remplacera les valeurs d'authentification SQL avec le profil d'utilisateur IIS Identity.

Définir Trusted_Connection=false





sql-server-2012