Ne peut pas créer le contexte SSPI

je travaille sur une application .NET où j'essaie de construire les scripts de la base de données. Lors de la construction du projet, je reçois une erreur "ne peut pas créer le contexte SSPI.". Cette erreur est affichée dans la fenêtre de sortie (dans L'écran VS2008) et le processus de construction a échoué. S'il vous plaît aider sur ce point. SQL Server est configuré pour fonctionner sous Windows authentication & running en tant que service réseau (ces deux choses sont obligatoires pour mon projet).

s'il vous Plaît aider sur ce point. Cette erreur ne semble pas être cohérent. Il a été corrigé dans le passé en redémarrant la machine, en changeant l'heure du système pour correspondre à l'heure du domaine et quelques suggestions dans le net. S'il vous plaît aider sur ce point.

28
demandé sur Brian Webster 2009-11-28 16:41:19

16 réponses

C'est une erreur courante avec une variété de causes: commencez ici KB 811889

  • quelle version de SQL Server?
  • et Windows sur client et serveur?
  • instance SQL locale ou réseau?
  • Domaine ou groupe de travail? Fournisseur?
  • Changer le mot de passe
  • erreurs locales de journal de windows?
  • D'autres applications affectées?
14
répondu gbn 2009-11-28 13:48:58

il semble que votre PC n'a pas contacté un contrôleur de domaine authentifiant depuis un petit moment. (J'avais l'habitude de faire ça sur mon ordinateur portable quelques fois.)

cela peut aussi se produire si votre mot de passe expire.

22
répondu Jeremy McGee 2015-07-16 20:16:49

j'ai eu le même problème après avoir changé l'utilisateur qui exécutait le MSSQLSERVER-Service

Pour résoudre incorrect Spn avec SQL Server, j'ai utilisé cet outil

http://www.microsoft.com/en-us/download/details.aspx?id=39046 - Microsoft ® Kerberos Configuration Manager for SQL Server

dans mon cas, ça a plutôt bien marché.

5
répondu Erik Mandke 2014-12-24 22:24:26

la première chose à faire est d'aller dans les logs (Management\SQL Server Logs) et voir si SQL Server successfully registered the Service Principal Name (SPN). Si vous voyez une sorte d'erreur (The SQL Server Network Interface library could not register the Service Principal Name (SPN) for the SQL Server service), alors vous savez par où commencer.

nous avons vu cela se produire lorsque nous avons changé le compte SQL Server était en cours d'exécution. La réinitialisation sur le compte système Local a résolu le problème. Microsoft a aussi un guide sur la configuration manuelle du SPN.

4
répondu Andrew 2014-03-19 12:23:13

Cette erreur survient généralement lorsque le compte d'utilisateur Windows est expiré et qu'il est déjà connecté avec l'ancien mot de passe. Il suffit de demander à l'utilisateur de redémarrer sa machine et de vérifier si le mot de passe est expiré ou s'il a changé le mot de passe. Espérons que cette aide!!!!!

4
répondu Ritesh Gujaran 2016-09-13 10:17:27

j'ai résolu mon Cannot Generate SSPI Context erreur en utilisant le gestionnaire de Configuration du serveur SQL. Depuis que J'ai SQL Server natif client 10.0 sur ma machine, la connexion au serveur essaye d'utiliser des pipes nommées (ou de la mémoire partagée?). D'autres machines pourraient utiliser mon application sans problème. Quand j'ai regardé le gestionnaire de configuration, les pipes nommées et la mémoire partagée étaient toutes les deux activées (bonne). Cependant, sous alias, le nom de l'ordinateur était là avec TCP forcé. Puisque je ne savais pas quel effet changer ceci aurait, j'ai changé la chaîne de connexion dans mon programme à utiliser . à la place. Fixe.

3
répondu CuriousDiscer 2014-02-20 22:00:34

Si vous hébergez sur IIS, assurez-vous que le mot de passe pour le compte AppPool n'a pas changé.

Si c'est le cas, procédez comme suit:

  • Aller dans IIS
  • cliquez sur Application Pools
  • sélectionnez L'Applpool de votre application
  • clic droit sur votre Applpool
  • paramètres Avancés
  • Identité
  • Mettre À Jour Le Mot De Passe
  • Redémarrez AppPool
3
répondu Mahesh 2016-11-14 17:24:13

l'erreur "Cannot Generate SSPI Context" est très générique et peut se produire pour une multitude de raisons. Est juste une erreur de couverture pour N'importe quelle erreur Kerberos/NTLM sous-jacente. L'article de GBN sur le lien est un très bon point de départ et résout généralement les problèmes. Si vous avez encore des problèmes, je vous recommande de suivre les étapes de dépannage dans Dépannage Des Erreurs Kerberos.

2
répondu Remus Rusanu 2009-11-28 17:34:40

j'ai aussi émis ce problème, et les administrateurs du serveur l'ont résolu en suivant la même solution que indu_teja proposée dans http://www.sqlservercentral.com/Forums/Topic546566-146-1.aspx

La solution proposée par indu_teja dit :

si vous obtenez cette "erreur de contexte SSPI". Les problèmes auxquels nous sommes confrontés sont les suivants:

  1. nous ne pourrons pas nous connecter à SQL Server à distance.
  2. Cependant nous serons en mesure de nous connecter serveur avec compte local.

CAUSE: le problème pourrait être dû au fait qu'il n'y a pas eu de synchronisation Spn dans Active directory.

résolution:

  1. vous devez réinitialiser SPN. Utilisez le synytax "SET SPN". Vous pouvez vérifier la syntaxe dans le filet une fois.
  2. changez votre compte de service sql server de compte de domaine en compte Local, recyclez sql, puis réinitialisez à nouveau avec votre compte de domaine et recyclez sql server.
2
répondu Guilherme de Jesus Santos 2014-03-04 06:04:00

j'ai juste eu le même problème et j'ai tout supprimer l'utilisateur informations de connexion dans sql server en utilisant un autre code d'utilisateur et de les ajouter de nouveau.

1
répondu Mark Ngugi 2013-10-14 11:19:32

je peux résoudre ce problème en réinitialisant le domaine (server machine, qui est le serveur de domaine, mais qui n'est pas lié à SQL Server sauf domain managing) suivi par les machines clientes.

merci à tous pour votre soutien immédiat!

0
répondu Prasanna 2009-11-29 09:26:17

avait un exemple vraiment bizarre de cela; tous les produits web qui avaient des chaînes de connexion contenant le nom d'ordinateur windows du serveur SQL fonctionnaient très bien, mais les produits qui avaient un FQDN avec le domaine interne attaché a donné une erreur SSPI. c'est à dire COMPUTERNAME vs Nom de l'ordinateur.DOMAINE (ping toujours fonctionné comme prévu)

cela ne donnait des problèmes que lorsqu'un nouveau serveur SQL était utilisé et que les fichiers hosts pointaient à la fois le nom de l'ordinateur et le nom computername comme FQDN pour la connexion. chaîne.

la Solution dans ce cas était de définir toutes les chaînes de connexion au nom de l'ordinateur seulement, en supprimant les références de domaine.

SQL: 2008R2 SQL2012

IIS : 2008R2

0
répondu rob 2014-01-21 11:12:38

Ici c'est mon cas. J'avais une machine distante qui hébergeait SQL Server. Depuis ma machine locale, j'essayais d'accéder à L'instance SQL via un code C# et j'ai eu cette erreur. Mon mot de passe pour le compte utilisateur sur mon ordinateur/domaine a expiré. Je l'ai fixée avec le code suivant:

  1. a ouvert la machine distante, ce qui m'a incité à changer le mot de passe
  2. j'ai changé mon mot de passe dans cette invite et je me suis connecté à la machine distante
  3. je "verrouillé" ma machine locale (en utilisant windows+ L touche donc je n'ai pas eu à signer complètement) pour que je puisse revenir à la page de signature
  4. je me suis réinscrit sur ma machine locale avec le nouveau mot de passe

tout fonctionnait alors très bien.

0
répondu AlbatrossCafe 2016-08-10 19:53:14

Dans mon cas, c'était un manque de SPN, avait pour lancer ces deux commandes:

setspn -a MSSQLSvc: SERVERNAME SERVERNAME setspn-a MSSQLSvc: SERVERNAME: 1433 SERVERNAME

en d'autres termes, dans mon cas, j'avais déjà correctement le FQDN, mais pas seulement le nom NETBIOS, après avoir ajouté ceux-ci, ça marchait très bien. Eh bien au début, il n'a pas fait, mais après avoir attendu 2 minutes, il a fait.

0
répondu ebooyens 2016-08-31 13:21:01

j'ai eu cette erreur - c'est arrivé parce que mon mot de passe a expiré et j'ai dû changer. Je ne l'ai pas remarqué, parce que dans certains programmes, je pouvais encore me connecter et tout fonctionnait normalement (y compris windows), mais je ne pouvais pas me connecter à des serveurs sql.

0
répondu Xyzk 2017-05-08 07:39:11

peut-être avez-vous utilisé L'Integrated Security = SSPI dans la chaîne de connexion. SSPI est utilisé pour les connexions de confiance en utilisant L'authentification Windows.par conséquent, pour fonctionner correctement dans l'authentification windows, votre système et votre serveur de base de données devraient être dans le même domaine et utiliser la même adresse de serveur DNS, ou devraient être dans le domaine de confiance.

si votre système et votre serveur de base de données sont dans le même domaine, Vérifiez l'adresse du serveur DNS des propriétés IPV4 dans la connexion réseau de votre système et fournir la même Serveur DNS utilisé par le serveur de base de données.

0
répondu chetan sharma 2018-06-29 13:13:14