Ik zie dit in verschillende situaties en het komt af en toe voor in onze webgebaseerde applicatie die verbinding maakt met de SQL 2008 R2-serverback-end. Gebruikers komen een punt 2-puntsverbinding tegen en zien dit aan en uit. Dacht dat het bandbreedteproblemen waren totdat ik het begon te zien op eindservers die zich op dezelfde kernschakelaar bevinden als deze SQL-server. Ik heb gecontroleerd of externe verbinding is ingeschakeld, poort 1433 is correct ingesteld in Configuratie voor TCP/IP en het enige dat ik zie dat een oorzaak kan zijn, is dat de time-outinstelling is ingesteld op 100000 in de externe verbindingen in plaats van onbeperkt.
De fout is
System.Data.SqlClient.SqlException
(0x80131904
): Een netwerkgerelateerde of
instantie-specifieke fout opgetreden bij het tot stand brengen van een verbinding met
SQL-server. De server is niet gevonden of was niet toegankelijk. Verifiëren
dat de instantienaam correct is en dat SQL Server is geconfigureerd om
verbindingen op afstand toestaan. (provider: Named Pipes Provider, fout: 40 –
Kan geen verbinding maken met SQL Server)--->
System.ComponentModel.Win32Exception
(0x80004005
): Het netwerkpad
is niet gevondenat
System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction) at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose) at System.Data.SqlClient.TdsParser.Connect(ServerInfo serverInfo, SqlInternalConnectionTds connHandler, Boolean ignoreSniOpenTimeout, Int64 timerExpire, Boolean encrypt, Boolean trustServerCert, Boolean integratedSecurity, Boolean withFailover) at System.Data.SqlClient.SqlInternalConnectionTds.AttemptOneLogin(ServerInfo serverInfo, String newPassword, SecureString newSecurePassword, Boolean ignoreSniOpenTimeout, TimeoutTimer timeout, Boolean withFailover) at System.Data.SqlClient.SqlInternalConnectionTds.LoginNoFailover(ServerInfo serverInfo, String newPassword, SecureString newSecurePassword, Boolean redirectedUserInstance, SqlConnectionString connectionOptions, SqlCredential credential, TimeoutTimer timeout) at System.Data.SqlClient.SqlInternalConnectionTds.OpenLoginEnlist(TimeoutTimer timeout, SqlConnectionString connectionOptions, SqlCredential credential, String newPassword, SecureString newSecurePassword, Boolean redirectedUserInstance) at System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity identity, SqlConnectionString connectionOptions, SqlCredential credential, Object providerInfo, String newPassword, SecureString newSecurePassword, Boolean redirectedUserInstance, SqlConnectionString userConnectionOptions, SessionData reconnectSessionData) at System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions options, DbConnectionPoolKey poolKey, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnection, DbConnectionOptions userOptions) at System.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection(DbConnectionPool pool, DbConnection owningObject, DbConnectionOptions options, DbConnectionPoolKey poolKey, DbConnectionOptions userOptions) at System.Data.ProviderBase.DbConnectionPool.CreateObject(DbConnection owningObject, DbConnectionOptions userOptions, DbConnectionInternal oldConnection) at System.Data.ProviderBase.DbConnectionPool.UserCreateRequest(DbConnection owningObject, DbConnectionOptions userOptions, DbConnectionInternal oldConnection) at System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, UInt32 waitForMultipleObjectsTimeout, Boolean allowCreate, Boolean onlyOneCheckConnection, DbConnectionOptions userOptions, DbConnectionInternal& connection) at System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal& connection) at System.Data.ProviderBase.DbConnectionFactory.TryGetConnection(DbConnection owningConnection, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal oldConnection, DbConnectionInternal& connection) at System.Data.ProviderBase.DbConnectionInternal.TryOpenConnectionInternal(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions) at System.Data.ProviderBase.DbConnectionClosed.TryOpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions) at System.Data.SqlClient.SqlConnection.TryOpenInner(TaskCompletionSource`1 retry) at System.Data.SqlClient.SqlConnection.TryOpen(TaskCompletionSource`1 retry) at System.Data.SqlClient.SqlConnection.Open() at System.Data.Entity.SqlServer.DefaultSqlExecutionStrategy.<>c__DisplayClass1.b__0() at System.Data.Entity.SqlServer.DefaultSqlExecutionStrategy.Execute[TResult](Func`1 operation) at System.Data.Entity.SqlServer.DefaultSqlExecutionStrategy.Execute(Action operation) at System.Data.Entity.Core.EntityClient.EntityConnection.Open() ClientConnectionId:00000000-0000-0000-0000-000000000000
Antwoord 1, autoriteit 100%
ik had hetzelfde probleem.
ga naar Sql Server Configuratiebeheer->SQL Server netwerkconfiguratie->protocollen voor ‘servername’ en controleer of named pipes is ingeschakeld.
Antwoord 2, autoriteit 100%
Ik had hetzelfde probleem.
Zorg ervoor dat In SQL Server-configuratie –> SQL Server-services –> SQL Server Agent is ingeschakeld
Dit heeft mijn probleem opgelost
Antwoord 3, autoriteit 33%
Iedereen die deze fout heeft, vooral op Azure, probeer ‘tcp:’ toe te voegen aan de db-servernaam in uw verbindingsreeks in uw toepassing. Dit dwingt de sql-client om te communiceren met de database via tcp. Ik neem aan dat de verbinding standaard UDP is en dat er af en toe verbindingsproblemen kunnen zijn
Antwoord 4
Controleer deze stappen.
- ga naar Sql Server-configuratiebeheer->SQL Server-netwerkconfiguratie->protocollen voor ‘servernaam’ en controleer of TCP/IP is ingeschakeld.
- Open SSMS in run, en controleer of u kunt inloggen op de server met de opgegeven gebruikersnaam/wachtwoord en/of met Windows-authenticatie.
- herhaal stap 1 ook voor SQL native client-configuratie
Antwoord 5
Controleer je routes, de update van 28-09-2014 heeft gevolgen voor ons gehad. We moesten onze oudere servers aanpassen en nieuwe routes toevoegen. Hier is het artikel http://www.rackspace.com/knowledge_center/article/updating-servicenet-routes-on-cloud-servers-created-before-june-3-2013
Antwoord 6
Bekijk mijn bericht hier
Hoe gaat het met je? Ik had hetzelfde probleem toen ik probeerde verbinding te maken met
MSSQL Server op afstand met jdbc (dbeaver op debian).Na een tijdje kwam ik erachter dat mijn firewallconfiguratie dat niet was
correct. Dus misschien kan het je helpen!Configureer de firewall om netwerkverkeer toe te staan dat gerelateerd is aan SQL
Server en naar de SQL Server Browser-service.Vier uitzonderingen moeten worden geconfigureerd in Windows Firewall om toegang toe te staan
naar SQL Server:Een poortuitzondering voor TCP-poort 1433. In de wizard Nieuwe inkomende regel
dialoogvenster, gebruik dan de volgende informatie om een poortuitzondering te maken:
Selecteer poort Selecteer TCP en specificeer poort 1433 Sta de verbinding toe
Kies alle drie de profielen (Domain, Private & Public) Geef de regel een naam
“SQL – TCP 1433″ Een poortuitzondering voor UDP-poort 1434. Klik op Nieuwe regel
opnieuw en gebruik de volgende informatie om een andere poort te maken:
uitzondering: Selecteer Poort Selecteer UDP en specificeer poort 1434 Sta de
verbinding Kies alle drie de profielen (Domein, Private & Public) Naam
de regel “SQL – UDP 1434 Een programma-uitzondering voor sqlservr.exe. Klik
Nieuwe regel opnieuw en gebruik de volgende informatie om een programma te maken
uitzondering: Selecteer Programma Klik op Bladeren om ‘sqlservr.exe’ te selecteren bij
deze locatie: [C:\Program Files\Microsoft SQL
Server\MSSQL11.\MSSQL\Binn\sqlservr.exe] waar
is de naam van uw SQL-instantie. Laat de
verbinding Kies alle drie de profielen (Domein, Private & Public) Naam
de regel SQL – sqlservr.exe Een programma-uitzondering voor sqlbrowser.exe
Klik nogmaals op Nieuwe regel en gebruik de volgende informatie om te maken
een andere programma-uitzondering: Programma selecteren Klik op Bladeren om te selecteren
sqlbrowser.exe op deze locatie: [C:\Program Files\Microsoft SQL
Server\90\Gedeeld\sqlbrowser.exe]. Sta de verbinding toe Alles kiezen
drie profielen (Domain, Private & Public) Noem de regel SQL –
sqlbrowser.exeBron:
http://blog.citrix24.com/configure-sql -express-to-accept-remote-connections/