Je rencontre une erreur lors de la connexion à SQL Server:
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.
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.
Pour SQL2008,
Redémarrez le serveur à l'aide du gestionnaire de configuration.
De ici :
Root Cause: La connexion maximale a été dépassée sur votre instance SQL Server.
Comment le réparer...!
- F8 ou Explorateur d'objets
- Faites un clic droit sur Instance -> Cliquez sur Propriétés ...
- Sélectionnez "Connexions" dans la zone "Sélectionnez une page" à gauche.
- Définissez la valeur sur 0 (zéro) pour "Nombre maximal de connexions simultanées (0 = Illimité)"
- Redémarrez l'instance SQL Server une fois.
En dehors de cela, assurez-vous que les options suivantes sont activées:
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 .
Parfois, spécifier la base de données (au lieu de la valeur par défaut) résout cette erreur.