web-dev-qa-db-fra.com

Une connexion a été établie avec le serveur, mais une erreur est survenue pendant le processus de connexion. (Numéro d'erreur: 233)

Je rencontre une erreur lors de la connexion à SQL Server:

 enter image description here

Les détails dans la trace de la pile sont les suivants:

===================================

Cannot connect to ServerName.

===================================

A connection was successfully established with the server, but then an error occurred during the login process. (provider: Shared Memory Provider, error: 0 - No process is on the other end of the pipe.) (.Net SqlClient Data Provider)

------------------------------
For help, click: http://go.Microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&EvtSrc=MSSQLServer&EvtID=233&LinkId=20476

------------------------------
Server Name: ServerName
Error Number: 233
Severity: 20
State: 0


------------------------------
Program Location:

   at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection)
   at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj)
   at System.Data.SqlClient.TdsParserStateObject.ReadSniError(TdsParserStateObject stateObj, UInt32 error)
   at System.Data.SqlClient.TdsParserStateObject.ReadSni(DbAsyncResult asyncResult, TdsParserStateObject stateObj)
   at System.Data.SqlClient.TdsParserStateObject.ReadNetworkPacket()
   at System.Data.SqlClient.TdsParserStateObject.ReadBuffer()
   at System.Data.SqlClient.TdsParserStateObject.ReadByte()
   at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj)
   at System.Data.SqlClient.SqlInternalConnectionTds.CompleteLogin(Boolean enlistOK)
   at System.Data.SqlClient.SqlInternalConnectionTds.AttemptOneLogin(ServerInfo serverInfo, String newPassword, Boolean ignoreSniOpenTimeout, Int64 timerExpire, SqlConnection owningObject, Boolean withFailover)
   at System.Data.SqlClient.SqlInternalConnectionTds.LoginNoFailover(String Host, String newPassword, Boolean redirectedUserInstance, SqlConnection owningObject, SqlConnectionString connectionOptions, Int64 timerStart)
   at System.Data.SqlClient.SqlInternalConnectionTds.OpenLoginEnlist(SqlConnection owningObject, SqlConnectionString connectionOptions, String newPassword, Boolean redirectedUserInstance)
   at System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity identity, SqlConnectionString connectionOptions, Object providerInfo, String newPassword, SqlConnection owningObject, Boolean redirectedUserInstance)
   at System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions options, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnection)
   at System.Data.ProviderBase.DbConnectionFactory.CreateNonPooledConnection(DbConnection owningConnection, DbConnectionPoolGroup poolGroup)
   at System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection)
   at System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory)
   at System.Data.SqlClient.SqlConnection.Open()
   at Microsoft.SqlServer.Management.SqlStudio.Explorer.ObjectExplorerService.ValidateConnection(UIConnectionInfo ci, IServerType server)
   at Microsoft.SqlServer.Management.UI.ConnectionDlg.Connector.ConnectionThreadUser()

NOTE _ {j'ai essayé} _ 

  • fermer, réouvrir serveur SQL Server Management Studio.

  • fermer, rouvrir VS et reconstruire la solution

  • processus de travail tué accédant à la base de données.

  • les identifiants de connexion sont corrects.

  • capable de cingler le serveur pour s'assurer qu'il n'est pas en panne.

17
Pranav Singh

Il s'avère que certains services SQL ont été arrêtés d'une manière ou d'une autre sur le serveur. Redémarrer le service SQL Server manuellement était la solution.

Je sais que c'est idiot, mais a quand même travaillé. Merci @PareshJ pour le commentaire utile.

10
Pranav Singh

Pour SQL2008, 

  • open Management Studio
  • Rt cliquez sur instance  
  • aller à propriétés
  • sélectionnez Sécurité
  • Sous Authentification du serveur , vérifiez Mode d'authentification SQL Server et Windows
  • appuyez surOK

Redémarrez le serveur à l'aide du gestionnaire de configuration. 

30
user7643068

Lorsque vous démarrez l'application "Exécuter en tant qu'administrateur", j'ai évité cette erreur.

 enter image description here

2
Kishor K

De ici :

Root Cause: La connexion maximale a été dépassée sur votre instance SQL Server.

Comment le réparer...!

  1. F8 ou Explorateur d'objets
  2. Faites un clic droit sur Instance -> Cliquez sur Propriétés ...
  3. Sélectionnez "Connexions" dans la zone "Sélectionnez une page" à gauche.
  4. Définissez la valeur sur 0 (zéro) pour "Nombre maximal de connexions simultanées (0 = Illimité)"
  5. Redémarrez l'instance SQL Server une fois.

En dehors de cela, assurez-vous que les options suivantes sont activées:

  • Le protocole de mémoire partagée est activé
  • Le protocole Named Pipes est activé
  • TCP/IP est activé
1
Rahul Tripathi

Solution/solution de contournement SQL 2016 ici (pourrait également fonctionner dans les versions antérieures). Cela peut ne pas fonctionner ou être approprié dans toutes les situations, mais j'ai résolu le problème en accordant à mon utilisateur de base de données la propriété du schéma en lecture/écriture comme suit dans SSMS:

Base de données> Sécurité> Utilisateurs> Utilisateur> Propriétés> Schémas détenus> check db_datareader et db_datawriter .

0
Tawab Wakil

Parfois, spécifier la base de données (au lieu de la valeur par défaut) résout cette erreur.

0
Alex