2010-11-20 9 views
4

J'ai besoin de votre aide !!!!windows service problèmes de connexion sql

Je veux connecter au serveur SQL à partir d'un service Windows, mais jeter exception suivante:

Échec de la connexion pour l'utilisateur 'NT AUTHORITY \ ANONYMOUS LOGON'.

Ma chaîne de connexion est déclarée comme suit:

<add name="CoreConnectionString" 
    connectionString="Data Source=10.10.2.102;Initial Catalog=DataBaseName; 
         Integrated Security=True" 
    providerName="System.Data.SqlClient" /> 

Lorsque j'utilise le nom d'utilisateur et mot de passe au lieu de sécurité intégrée = True Il fonctionne, mais en déploiement final, je ne peux pas utiliser le nom d'utilisateur et mot de passe.

Quel est le problème que puis-je faire ????

Répondre

8

Lorsque vous définissez Integrated Security=True dans votre chaîne de connexion, tout utilisateur connecté actuellement tentera de se connecter à votre base de données. Lorsque vous l'exécutez en tant que console ou application Winforms, il s'agit de votre propre compte utilisateur.

Toutefois, si vous l'exécutez en tant que service Windows NT, il s'agit du compte de service sous lequel ce service s'exécute - dans votre cas, NT AUTHORITY\ANONYMOUS LOGON.

Et l'erreur l'indique clairement: ce compte d'utilisateur n'a pas l'autorisation de se connecter au SQL Server.

Vous avez plusieurs options:

  • arrêter votre service NT et changer le compte de service pour être quelqu'un qui a accès à SQL Server

  • permettent au NT AUTHORITY\ANONYMOUS LOGON de se connecter à votre SQL Server et utiliser votre base de données

  • créer un utilisateur spécifique (par exemple un "utilisateur de l'application") dans votre SQL Server et modifier votre chaîne de connexion pour utiliser spécifiquement cet utilisateur:

    connectionString="Data Source=10.10.2.102;Initial Catalog=DataBaseName; 
            user id=Your-Application-User-here;password=The-Secret-Password" 
    
+0

MERCI DE VOTRE REPONSE JE POURRAIS résoudre le problème comme suit: j'ai changé mon service « Connectez-vous » à l'administrateur, il peut se connecter à la base de données, merci pour votre aide. – Bahar

+0

@marc_s, que signifie vraiment "changer le compte de service"? Quelles sont les mesures à prendre? – ilans

+0

@ilanS: menu Démarrer> tapez "services.msc" et appuyez sur Entrée> recherchez votre service> faites un clic droit sur propriétés> choisissez le deuxième onglet (pas sûr comment il est étiqueté dans votre version Windows) qui vous permet de définir sous quel compte service fonctionne -> réglez-le à tout ce qui a du sens pour vous –

Questions connexes