Delen via


Er is een netwerkgerelateerde of exemplaarspecifieke fout opgetreden bij het tot stand brengen van een verbinding met SQL Server

Van toepassing op: SQL Server

Samenvatting

Dit artikel helpt u bij het oplossen van netwerkgerelateerde of exemplaarspecifieke fouten die optreden wanneer u verbinding maakt met een SQL Server-exemplaar. Deze fouten worden meestal weergegeven wanneer het SQL Server-exemplaar niet wordt uitgevoerd, de server- of exemplaarnaam onjuist is, netwerkprotocollen niet correct zijn geconfigureerd of firewalls blokkeren vereiste poorten. In deze handleiding wordt uitgelegd hoe u diagnostische gegevens verzamelt en een gestructureerde benadering voor probleemoplossing beschrijft, te beginnen met basiscontroles en verdergaat met geavanceerdere technieken.

Veelvoorkomende foutberichten voor SQL Server-verbinding

De volledige foutberichten variëren, afhankelijk van de clientbibliotheek die de toepassing gebruikt en de serveromgeving. Vouw elk bericht uit om te controleren of er een van de volgende foutberichten wordt weergegeven:

provider: Named Pipes Provider, fout: 40 - Kan geen verbinding met SQL Server openen (Microsoft SQL Server, fout: 53) Een netwerkgerelateerde of exemplaarspecifieke fout is opgetreden bij het maken van een verbinding met SQL Server. De server wordt niet gevonden of toegang tot de server is niet mogelijk. Controleer of de exemplaarnaam correct is en of in de instellingen van SQL Server externe verbindingen zijn toegestaan.
provider: Named Pipes Provider, fout: 40 - Kan geen verbinding met SQL Server openen (Microsoft SQL Server, fout: 53)
provider: TCP-provider, fout: 0 - Dergelijke host is niet bekend. (Microsoft SQL Server, fout: 11001)

provider: SQL-netwerkinterfaces, fout: 26 - Fout bij het zoeken naar de server/het opgegeven exemplaar Een netwerkgerelateerde of exemplaarspecifieke fout is opgetreden bij het maken van een verbinding met SQL Server. De server wordt niet gevonden of toegang tot de server is niet mogelijk. Controleer of de exemplaarnaam correct is en of in de instellingen van SQL Server externe verbindingen zijn toegestaan.
provider: SQL-netwerkinterfaces, fout: 26 - Fout bij het zoeken naar de server/het opgegeven exemplaar

Time-out voor aanmelding verlopen SQL Server Native Client-gegevenskoppelingsfout
[Microsoft SQL Server Native Client 10.0]: Time-out voor aanmelden is verlopen
[Microsoft SQL Server Native Client 10.0]: Er is een netwerkgerelateerde of exemplaarspecifieke fout opgetreden tijdens het tot stand brengen van een verbinding met SQL Server. Server is niet gevonden of niet toegankelijk. Controleer of de exemplaarnaam klopt en of in de instellingen van SQL Server externe verbindingen zijn toegestaan. Raadpleeg SQL Server Books Online voor meer informatie.
[Microsoft SQL Server Native Client 10.0]: SQL Server-netwerkinterfaces: Fout bij het zoeken naar server/exemplaar opgegeven [xFFFFFFFFFF].

Een verbindingspoging is mislukt omdat deze verbonden partij na een bepaalde periode niet goed heeft gereageerd of omdat de verbonden host niet heeft gereageerd Een netwerkgerelateerde of exemplaarspecifieke fout is opgetreden bij het maken van een verbinding met SQL Server. De server wordt niet gevonden of toegang tot de server is niet mogelijk. Controleer of de exemplaarnaam correct is en of in de instellingen van SQL Server externe verbindingen zijn toegestaan.
provider: TCP-provider, fout: 0
Een verbindingspoging is mislukt omdat deze verbonden partij na een bepaalde periode niet goed heeft gereageerd of omdat de verbonden host niet heeft gereageerd.
Microsoft SQL Server, fout: 10060

provider: Named Pipes Provider, fout: 40 - Kan geen verbinding met SQL Server openen Een netwerkgerelateerde of exemplaarspecifieke fout is opgetreden bij het maken van een verbinding met SQL Server. De server wordt niet gevonden of toegang tot de server is niet mogelijk. Controleer of de exemplaarnaam correct is en of in de instellingen van SQL Server externe verbindingen zijn toegestaan.
provider: Named Pipes Provider, fout: 40 - Kan geen verbinding met SQL Server openen
Microsoft SQL Server, fout: 53
Het netwerkpad is niet gevonden

[Microsoft][SQL Server Native Client 11.0]TCP-provider: er kan geen verbinding worden gemaakt omdat de doelcomputer deze actief heeft geweigerd SQL Server Native Client-gegevenskoppelingsfout
\[Microsoft\][SQL Server Native Client 11.0]TCP-provider: er kan geen verbinding worden gemaakt omdat de doelcomputer deze actief heeft geweigerd.
\[Microsoft\][SQL Server Native Client 11.0]Aanmeldingstime-out is verlopen.
\[Microsoft\][SQL Server Native Client 11.0]Er is een netwerkgerelateerde of exemplaarspecifieke fout opgetreden tijdens het tot stand brengen van een verbinding met SQL Server. Server is niet gevonden of niet toegankelijk. Controleer of de exemplaarnaam klopt en of in de instellingen van SQL Server externe verbindingen zijn toegestaan. Raadpleeg SQL Server Books Online voor meer informatie.

'SQL Server bestaat niet of de toegang wordt geweigerd'

Deze fout betekent meestal dat de client het SQL Server-exemplaar niet kan vinden. Deze fout treedt op wanneer een of meer van de volgende problemen bestaan:

  • De naam van de computer die SQL Server host, is onjuist.
  • De instance resolveert niet naar het juiste IP-adres.
  • Het TCP-poortnummer is niet juist opgegeven.

Notitie

Raadpleeg de volgende artikelen voor het oplossen van connectiviteitsproblemen in scenario's met hoge beschikbaarheid:

Windows-fout 233: Er is geen proces aan het andere uiteinde van de pijp

Het volledige bericht is:

Er is een verbinding tot stand gebracht met de server, maar er is een fout opgetreden tijdens het aanmeldingsproces. (provider: Shared Memory Provider, error: 0 - No process is on the other end of the pipe.) (Microsoft SQL Server, fout: 233)

Dit bericht betekent dat SQL Server niet luistert op het protocol Gedeeld geheugen of Named Pipes.

Informatie verzamelen om verbindingsproblemen met SQL Server op te lossen

Voordat u begint met het oplossen van problemen, verzamelt u de informatie die in deze sectie wordt vermeld. U kunt een van de volgende opties gebruiken om deze gegevens te verzamelen.

Het hulpprogramma SQL-controle gebruiken om de vereiste informatie te verzamelen

Als u zich lokaal kunt aanmelden bij de SQL Server-computer en beheerderstoegang hebt, gebruikt u SQLCHECK. Dit hulpprogramma biedt de meeste informatie die nodig is voor het oplossen van problemen in één bestand. Bekijk de startpagina van het hulpprogramma voor meer informatie over het gebruik van het hulpprogramma en de informatie die het verzamelt. U kunt ook de aanbevolen vereisten en controlelijstpagina controleren.

Verzamel de gegevens afzonderlijk met behulp van de volgende procedures

De naam van het exemplaar ophalen uit Configuration Manager

Gebruik SQL Server Configuration Manager op de server die als host fungeert voor het SQL Server-exemplaar om de naam van het exemplaar te controleren:

Notitie

Configuration Manager wordt automatisch op de computer geïnstalleerd wanneer SQL Server is geïnstalleerd. Instructies voor het starten van Configuration Manager verschillen enigszins per versie van SQL Server en Windows. Zie SQL Server Configuration Manager voor versiespecifieke details.

  1. Meld u aan bij de computer waarop het exemplaar van SQL Server wordt gehost.

  2. Start SQL Server Configuration Manager.

  3. Selecteer in het linkerdeelvenster SQL Server Services.

  4. Controleer in het rechterdeelvenster de naam van het exemplaar van de database-engine.

    • SQL SERVER (MSSQLSERVER) geeft een standaardexemplaar van SQL Server aan. De naam van het standaardexemplaren is <computernaam>.
    • SQL SERVER (<exemplaarnaam>) geeft een benoemd exemplaar van SQL Server aan. De naam van het benoemde exemplaar is <computernaam>\<exemplaarnaam>.

Het IP-adres van de server ophalen

Gebruik de volgende stappen om het IP-adres op te halen van de computer die als host fungeert voor het exemplaar van SQL Server.

  1. Selecteer in het menu StartUitvoeren. Typ en selecteer cmd in het venster Uitvoeren.

  2. Typ en druk in het ipconfig /all op Enter. Noteer het IPv4-adres en het IPv6-adres.

    Notitie

    SQL Server kan verbinding maken met behulp van het IP-versie 4-protocol of het IP-versie 6-protocol. Uw netwerk kan een ervan of beide toestaan.

De TCP-poort van het exemplaar ophalen

In de meeste gevallen maakt u verbinding met de database-engine op een andere computer met behulp van het TCP-protocol. Ga als volgt te werk om de TCP-poort van het exemplaar op te halen:

  1. Gebruik SQL Server Management Studio op de computer waarop SQL Server wordt uitgevoerd en maak verbinding met het exemplaar van SQL Server. Vouw in ObjectverkennerBeheer uit, vouw SQL Server Logboeken uit en dubbelklik op het huidige logboek.

  2. Selecteer Filter op de werkbalk in de Logboekbestandsviewer. Typ in het vak Bericht bevat tekstserver luistert op, selecteer Filter toepassen en selecteer vervolgens OK.

  3. Er moet een bericht worden weergegeven dat lijkt op 'Server luistert op [ any' <ipv4> 1433]'.

    Dit bericht geeft aan dat het exemplaar van SQL Server luistert op alle IP-adressen op deze computer (voor IP-versie 4) en TCP-poort 1433. TCP-poort 1433 is doorgaans de poort die wordt gebruikt door de database-engine of het standaardexemplaren van SQL Server. Slechts één exemplaar van SQL Server kan deze poort gebruiken. Als u meer dan één exemplaar van SQL Server installeert, moeten sommige exemplaren andere poortnummers gebruiken. Let op het poortnummer dat wordt gebruikt door het SQL Server-exemplaar waarmee u verbinding wilt maken.

    Notitie

    • IP-adres 127.0.0.1 wordt waarschijnlijk vermeld. Het wordt het loopback-adapteradres genoemd. Alleen processen op dezelfde computer kunnen het IP-adres gebruiken om verbinding te maken.
    • U kunt het SQL Server-foutenlogboek ook weergeven met behulp van een teksteditor. Het foutenlogboek bevindt zich standaard in de bestanden Program Files\Microsoft SQL Server\MSSQL.n\MSSQL\LOG\ERRORLOG en ERRORLOG.n. Zie Het SQL Server-foutenlogboek weergeven voor meer informatie.

Controleer of de instantie actief is

Gebruik een van de volgende methoden om te controleren of de instantie wordt uitgevoerd.

Het SQLCHECK-uitvoerbestand gebruiken

  1. Zoek in het SQLCHECK-uitvoerbestand naar SQL Server-gegevens.
  2. Zoek in de sectie met de titel 'Services of Interest' uw SQL Server-exemplaar onder de kolommen Name and Instance (voor benoemde exemplaren) en controleer de status ervan met behulp van de kolom Gestart . Als de waarde Waar is, worden de services gestart. Anders wordt de service momenteel niet uitgevoerd.
  3. Als de service niet wordt uitgevoerd, start u de service met behulp van SQL Server Management Studio, SQL Server Configuration Manager, PowerShell of de services-applet.

SQL Server Configuration Manager gebruiken

Als u wilt controleren of het exemplaar wordt uitgevoerd, selecteert u SQL Server Services in SQL Server Configuration Manager en controleert u het symbool bij het SQL Server-exemplaar.

  • Een groene pijl geeft aan dat een exemplaar wordt uitgevoerd.
  • Een rood vierkantje geeft aan dat een exemplaar is gestopt.

Als het exemplaar is gestopt, klikt u met de rechtermuisknop op het exemplaar en selecteert u Start. Vervolgens wordt het serverexemplaar gestart en wordt de indicator een groene pijl.

PowerShell-opdrachten gebruiken

Gebruik de volgende opdracht in PowerShell om de status van SQL Server-services op het systeem te controleren:

Get-Service | Where {$_.status -eq 'running' -and $_.DisplayName -like "sql server*"}

U kunt de volgende opdracht gebruiken om in het foutenlogboekbestand te zoeken naar de specifieke tekenreeks 'SQL Server is nu gereed voor clientverbindingen. Dit is een informatieve boodschap; er is geen gebruikersactie vereist':

Get-ChildItem -Path "c:\program files\microsoft sql server\mssql*" -Recurse -Include Errorlog | Select-String "SQL Server is now ready for client connections."

Controleer of de SQL Server Browser-service wordt uitgevoerd

Gebruik een van de volgende methoden om te controleren of de SQL Server Browser-service wordt uitgevoerd.

Notitie

U hebt deze stap alleen nodig wanneer u verbindingsproblemen met benoemde exemplaren aan het oplossen bent.

Het SQLCHECK-uitvoerbestand gebruiken

  1. Zoek in het SQLCHECK-uitvoerbestand naar SQL Server-gegevens.
  2. Zoek in de sectie 'Services of Interest' naar SQLBrowser in de kolom Naam en controleer de status ervan met behulp van de kolom Gestart . Als de waarde Waar is, wordt de service gestart. Anders wordt de service momenteel niet uitgevoerd en moet u deze starten. Zie Starten, stoppen, onderbreken, hervatten, SQL Server-services opnieuw starten voor meer informatie.

SQL Server Configuration Manager gebruiken

Als u verbinding wilt maken met een benoemd exemplaar, moet de SQL Server Browser-service worden uitgevoerd. Zoek in SQL Server Configuration Manager de SQL Server Browser-service en controleer of deze wordt uitgevoerd. Als deze niet wordt uitgevoerd, start u de service. De SQL Server Browser-service is niet vereist voor standaardexemplaren.

Zie de SQL Server Browser-service voor meer informatie over het gebruik van de SQL Server Browser-service in uw omgeving.

Voor meer informatie over het stoppen en starten van SQL Server-services raadpleegt u Starten, stoppen, onderbreken, hervatten, SQL Server-services opnieuw starten.

Notitie

Als u de SQL Server Browser-service niet in uw omgeving kunt uitvoeren, raadpleegt u Verbinding maken met SQL Server benoemd exemplaar zonder SQL Server-browserservice.

Controleer de servernaam in de verbindingsreeks

Er treden vaak fouten op wanneer u een onjuiste servernaam opgeeft in de verbindingsreeks. Zorg ervoor dat de servernaam overeenkomt met de naam die u in de vorige stappen hebt opgehaald.

Notitie

Als u het hulpprogramma SQLCHECK gebruikt, controleert u de NetBios-naam/FQDN-waarden in de sectie Computergegevens van het uitvoerbestand.

De aliassen op de clientcomputers controleren

Aliassen worden vaak gebruikt in clientomgevingen wanneer u verbinding maakt met SQL Server met een alternatieve naam of wanneer er problemen zijn met naamomzetting in het netwerk. Ze worden gemaakt met behulp van SQL Server Configuration Manager of clientnetwerkhulpprogramma. Een onjuiste alias kan ertoe leiden dat de verbindingen van uw toepassingen verbinding maken met de verkeerde server, wat kan leiden tot een fout. Voer de volgende stappen uit om te controleren op onjuiste aliassen. U kunt ook een hulpprogramma (zoals SQLCHECK) op de clientcomputer gebruiken om te controleren op aliassen en verschillende andere verbindingsinstellingen op een clientcomputer.

Notitie

De volgende opties zijn alleen van toepassing op de toepassingen die SQL Server Native Client gebruiken om verbinding te maken met SQL Server.

Het SQLCHECK-uitvoerbestand gebruiken

  1. Zoek in het SQLCHECK-uitvoerbestand naar de tekenreeks SQL Aliases. Deze tekenreeks bevindt zich in de sectie Clientbeveiligings- en stuurprogrammagegevens van het bestand.
  2. Controleer de vermeldingen in de tabel. Als er geen vermeldingen aanwezig zijn, zijn er geen aliassen op de computer. Als er een vermelding is, controleert u de informatie om ervoor te zorgen dat de servernaam en het poortnummer op de juiste waarden zijn ingesteld.

Voorbeelduitvoer:
SQL-aliassen:

Alias Name   Protocol   Server Name     Port   32-bit 

----------   --------   ------------    ----   ------ 

prodsql      TCP        prod_sqlserver  1430      

De uitvoer geeft aan dat prodsql dit een alias is voor een SQL Server prod_sqlserver die wordt uitgevoerd op poort 1430.

Aliassen controleren in SQL Server Configuration Manager

  1. Vouw in SQL Server Configuration ManagerSQL Server Native Client-configuratie uit en selecteer Aliases.

  2. Controleer of er aliassen zijn gedefinieerd voor de server waarmee u verbinding wilt maken.

    Als de aliassen bestaan, voert u de volgende stappen uit:

    1. Open het deelvenster Eigenschappen van de alias.
    2. Wijzig de naam van de waarde in het veld Aliasnaam (als uw servernaam bijvoorbeeld MySQL is, hernoem deze dan als MySQL_test) en probeer de verbinding opnieuw. Als de verbinding werkt, is uw alias onjuist en kan dit afkomstig zijn van een oude configuratie die niet meer nodig is. Als de verbinding niet werkt, wijzigt u de naam van de alias in de oorspronkelijke naam en gaat u naar de volgende stap.
    3. Controleer de verbindingsparameters voor de alias en controleer of deze juist zijn. De volgende veelvoorkomende scenario's kunnen connectiviteitsproblemen veroorzaken:
      • Onjuist IP-adres voor het veld Server. Zorg ervoor dat het IP-adres overeenkomt met de vermelding in het SQL Server-foutenlogboekbestand.
      • Onjuiste servernaam in het veld Server. Uw serveralias verwijst bijvoorbeeld naar de juiste servernaam. De verbindingen mislukken echter als de waarde van de servernaamparameter onjuist is.
      • Onjuiste opmaak van de naam van de pipe (ervan uitgaande dat u een alias met named pipes gebruikt).
        • Wanneer u verbinding maakt met een standaardexemplaren met de naam Mydefaultinstance, moet de pijpnaam \\Mydefaultinstance\pipe\sql\query zijn.
        • Wanneer u verbinding maakt met een benoemd exemplaar mySQL\Named, moet de pijpnaam \\MySQL\pipe\MSSQL$Named\sql\query zijn.

Aliassen controleren in sql Server Client Network Utility

  1. Open SQL Server-clientnetwerkhulpprogramma door cliconfg.exe te typen in de opdracht Uitvoeren.
  2. Volg stap 2 in Aliassen controleren in SQL Server Configuration Manager.

De firewallconfiguratie controleren

U kunt de firewallconfiguratie controleren, afhankelijk van het standaardexemplaar of het benoemde exemplaar.

Notitie

Als u firewalls van derden in uw netwerk gebruikt, zijn de concepten nog steeds van toepassing. Mogelijk moet u echter samenwerken met uw netwerkbeheerder of de documentatie van het firewallproduct raadplegen voor meer informatie over het configureren van de firewall om de benodigde poorten voor communicatie met SQL Server toe te staan.

Standaardexemplaar van SQL Server

Een standaardexemplaar wordt doorgaans uitgevoerd op poort 1433. Sommige installaties gebruiken ook een niet-standaardpoort (anders dan 1433) om SQL-exemplaren uit te voeren. De firewall kan beide poorten blokkeren. Voer de volgende stappen uit om het poortnummer te controleren:

  1. Bepaal op welke poort uw SQL-exemplaar wordt uitgevoerd. Raadpleeg De TCP-poort van het exemplaar ophalen.
  2. Controleer de firewall-configuratie:
    • Als uw SQL Server is geconfigureerd om te luisteren op poort 1433, zorg er dan voor dat firewalls op het netwerk tussen de client en de server verkeer op die poort toestaan. Bekijk Een Windows Firewall configureren voor toegang tot database-engine en werk samen met uw netwerkbeheerder om de benodigde oplossingen te implementeren.
    • Als uw sql Server-standaardexemplaren poort 1433 niet gebruiken, probeert u het poortnummer van SQL Server toe te voegen aan de servernaam met behulp van de indeling <servername>,<portnumber> en controleert u of het werkt. Als de naam van uw SQL-exemplaar bijvoorbeeld MySQLDefaultinstance is en deze wordt uitgevoerd op poort 2000, geeft u de servernaam op als MySQLServer,2000 en controleert u of dit werkt.
      • Als de verbinding niet werkt, blokkeert de firewall de poort. U kunt de instructies volgen op Een Windows Firewall configureren voor toegang tot de database-engine of samenwerken met uw netwerkbeheerder om de poort toe te voegen aan de lijst met uitsluitingen van firewalls.
      • Als de verbinding werkt, staat de firewall communicatie via die poort toe. U moet de verbindingsreeks wijzigen om het poortnummer en de servernaam te gebruiken in de verbindingsreeks van uw toepassing.

Benoemd exemplaar van SQL Server

Als uw SQL-exemplaar een benoemd exemplaar is, kan het zijn geconfigureerd voor het gebruik van dynamische poorten of een statische poort. In beide gevallen voeren de onderliggende netwerkbibliotheken een query uit op de SQL Server Browser-service die wordt uitgevoerd op uw SQL Server-computer via UDP-poort 1434 om het poortnummer voor het benoemde exemplaar op te sommen. Als een firewall tussen de client en de server deze UDP-poort blokkeert, kan de clientbibliotheek de poort (een vereiste voor verbinding) niet bepalen en mislukt de verbinding. Voer een van de volgende methoden uit om de verbinding te controleren:

  • Methode 1: controleer de verbinding door het poortnummer in uw verbindingsreeks op te geven.

    1. Bepaal op welke poort uw SQL-exemplaar wordt uitgevoerd. Raadpleeg De TCP-poort van het exemplaar ophalen.
    2. Probeer verbinding te maken met het benoemde exemplaar met behulp van het poortnummer dat is toegevoegd aan de servernaam in de indeling <servername\instancename>,<portnumber> en controleer of dat werkt. Als de naam van uw SQL-exemplaar bijvoorbeeld MySQL\Namedinstance is en deze wordt uitgevoerd op poort 3000, geeft u de servernaam op als MySQL\Namedinstance,3000.
      • Als de verbinding werkt, blokkeert de firewall UDP-poort 1434 of is het exemplaar verborgen in DE SQL Server-browser.
      • Als de verbinding niet werkt, bestaat een van de volgende situaties:
        • UDP-poort 1434 wordt geblokkeerd of de statische poort wordt geblokkeerd, of beide. Gebruik Portqry om te controleren of het de UDP-poort of de statische poort is.
        • Het exemplaar is verborgen in de SQL Server Browser-service.
  • Methode 2: controleer de verbinding met behulp van het hulpprogramma PortQryUI.

    Gebruik het hulpprogramma PortQryUI met uw benoemde exemplaar en bekijk de resulterende uitvoer. Mogelijk ziet u een bericht dat de UDP-poort 1434 is gefilterd. Dit bericht geeft aan dat de poort is geblokkeerd op het netwerk. Zie Het hulpprogramma PortQryUI gebruiken met SQL Server voor instructies over het gebruik van het hulpprogramma.

    Controleer of het SQL Server-exemplaar luistert op dynamische of statische poorten. Gebruik vervolgens de volgende methode die relevant is voor uw scenario. Als u het niet zeker weet, raadpleegt u Controleren of SQL Server luistert op een dynamische of statische poort.

    • Scenario 1: dynamische poorten. Zorg er in dit geval voor dat de SQL Server Browser-service is gestart en dat UDP-poort 1434 niet wordt geblokkeerd op de firewall tussen de client en de server. Als u een van deze dingen niet kunt doen, zet u uw SQL Server-exemplaar over op een statische poort en gebruikt u de procedure die wordt beschreven in Een server configureren om te luisteren op een specifieke TCP-poort.
    • Scenario 2: configuratie van statische poort. SQL Server Browser wordt niet uitgevoerd of UDP 1434 kan niet worden geopend op de firewall. Zorg er in dit geval voor dat u de statische poort in uw verbindingsreeks opgeeft en dat de poort niet wordt geblokkeerd door de firewall. Raadpleeg Een Windows Firewall configureren voor toegang tot database-engine voor meer informatie.

De ingeschakelde protocollen op SQL Server controleren

In sommige installaties van SQL Server moet een beheerder handmatig verbindingen met de database-engine van een andere computer inschakelen. Gebruik een van de volgende opties om de benodigde protocollen te controleren en in te schakelen om externe verbindingen met SQL Server Database Engine toe te staan.

Het SQLCHECK-uitvoerbestand gebruiken

  1. Zoek in het SQLCHECK-uitvoerbestand naar de sectie Details voor SQL Server-exemplaar en zoek de informatiesectie voor uw SQL Server-exemplaar.

  2. Zoek in de sectie de waarden in de volgende tabel om te bepalen of de SQL Server-protocollen zijn ingeschakeld:

    Waardenaam Implicatie Meer informatie
    Gedeeld geheugen ingeschakeld Kan waar of onwaar zijn. Alleen van invloed op lokale verbindingen. Een geldige verbindingsreeks maken met Shared Memory Protocol
    Named Pipes ingeschakeld Als dit onwaar is, mislukken zowel lokale als externe verbindingen met behulp van Named Pipes. Een netwerkprotocol kiezen
    TCP ingeschakeld Als dit onwaar is, mislukken zowel lokale als externe verbindingen met TCP/IP.
    Opmerking: De meeste SQL Server-installaties gebruiken TCP/IP als communicatieprotocol tussen server en client.
    Een netwerkprotocol kiezen
  3. Schakel vereiste protocollen in met behulp van SQL Server Configuration Manager of SQL Server PowerShell. Zie Een servernetwerkprotocol in- of uitschakelen voor meer informatie.

    Notitie

    Nadat u een protocol hebt ingeschakeld, moet u de database-engine stoppen en opnieuw starten om de wijziging van kracht te laten worden.

SQL Server Configuration Manager gebruiken

Als u verbindingen vanaf een andere computer wilt inschakelen met behulp van de SQL Server Configuration Manager, voert u de volgende stappen uit:

  1. Open de SQL Server Configuration Manager.
  2. Vouw in het linkerdeelvenster SQL Server Netwerkconfiguratie uit en selecteer vervolgens het exemplaar van SQL Server waarmee u verbinding wilt maken. In het rechterdeelvenster worden de beschikbare verbindingsprotocollen weergegeven. Gedeeld geheugen is normaal gesproken ingeschakeld. Het werkt alleen vanaf dezelfde computer, dus de meeste installaties laten Gedeeld geheugen ingeschakeld. Gebruik TCP/IP om vanaf een andere computer verbinding te maken met SQL Server. Als TCP/IP niet is ingeschakeld, klikt u met de rechtermuisknop op TCP/IP en selecteert u Inschakelen.
  3. Als u de ingeschakelde instelling voor een protocol wijzigt, start u de database-engine opnieuw op. Selecteer in het linkerdeelvenster SQL Server Services. Klik in het rechterdeelvenster met de rechtermuisknop op het exemplaar van de database-engine en selecteer vervolgens Opnieuw opstarten.

TCP/IP-connectiviteit testen

Windows moet de verbinding tot stand brengen om verbinding te maken met SQL Server met behulp van TCP/IP. Gebruik de volgende stappen om TCP-connectiviteit te testen met behulp van het pinghulpprogramma.

  1. Selecteer in het menu StartUitvoeren. Typ en selecteer cmd in het venster Uitvoeren.
  2. Typ in het ping venster het IP-adres van de computer waarop SQL Server wordt uitgevoerd. Bijvoorbeeld:
    • IPv4: ping 192.168.1.101
    • IPv6: ping fe80::d51d:5ab5:6f09:8f48%11
  3. Als uw netwerk correct is geconfigureerd, retourneert pingReply from <IP address> gevolgd door aanvullende informatie. Als pingDestination host unreachable of Request timed out retourneert is TCP/IP niet juist geconfigureerd. Fouten duiden op een probleem met de clientcomputer, de servercomputer of iets over het netwerk, zoals een router. Zie Geavanceerde probleemoplossing voor TCP/IP-problemen om netwerkproblemen op te lossen.
  4. Als de ping test slaagt met behulp van het IP-adres, test u of de computernaam kan worden omgezet in het TCP/IP-adres. Typ op de clientcomputer in het opdrachtpromptvensterping en de naam van de computer waarop SQL Server wordt uitgevoerd. Bijvoorbeeld ping newofficepc.
  5. Als pingen naar het IP-adres slaagt, maar pingen naar de computernaam wordt geretourneerd Destination host unreachable of Request timed out, hebt u mogelijk oude (verouderde) naamomzettingsgegevens in de cache op de clientcomputer. Typ ipconfig /flushdns om de DNS-cache (Domain Name System) te wissen. Ping de computer vervolgens opnieuw op naam. Wanneer de DNS-cache leeg is, controleert de clientcomputer de meest recente informatie over het IP-adres voor de servercomputer.
  6. Als uw netwerk correct is geconfigureerd, retourneert pingReply from <IP address> gevolgd door aanvullende informatie. Als u de servercomputer succesvol kunt pingen via het IP-adres, maar een foutmelding krijgt, zoals Destination host unreachable of Request timed out, wanneer u de server probeert te pingen via de computernaam, is naamresolutie niet correct geconfigureerd. Zie Basisproblemen met TCP/IP oplossen voor meer informatie. Een geslaagde naamomzetting is niet vereist om verbinding te maken met SQL Server. Als de computernaam echter niet kan worden omgezet in een IP-adres, moet u het IP-adres opgeven wanneer u verbinding maakt. U kunt de naamomzetting later oplossen.

Notitie

U kunt ook de cmdlet Test-NetConnection of Test-Connection gebruiken om TCP-connectiviteit te testen op basis van de PowerShell-versie die op de computer is geïnstalleerd. Zie Cmdlet Overview (Overzicht van cmdlets) voor meer informatie over PowerShell-cmdlets.

Lokale verbinding testen

Voordat u een verbindingsprobleem vanaf een andere computer kunt oplossen, test u de mogelijkheid om verbinding te maken vanuit een clienttoepassing die lokaal is geïnstalleerd op de computer waarop SQL Server wordt uitgevoerd. Een lokale verbinding voorkomt problemen met netwerken en firewalls.

Voor deze procedure is SQL Server Management Studio vereist. Zie Download SQL Server Management Studio (SSMS) als Management Studio niet is geïnstalleerd.

Als u Management Studio niet kunt installeren, kunt u de verbinding testen met behulp van het hulpprogramma sqlcmd. Het sqlcmd.exe bestand wordt geïnstalleerd met de database-engine.

  1. Meld u aan bij de computer waarop SQL Server is geïnstalleerd met behulp van een aanmelding die toegang heeft tot SQL Server. Tijdens de installatie moet voor SQL Server ten minste één aanmelding als SQL Server-administrator worden opgegeven. Als u geen beheerder kent, raadpleegt u Verbinding maken met SQL Server wanneer systeembeheerders zijn vergrendeld.

  2. Op de startpagina typt u SQL Server Management Studio of selecteert u In het menu Start van oudere versies van Windows alle programma's>Microsoft SQL ServerSQL Server >Management Studio.

  3. Selecteer database-engine in het vervolgkeuzemenu Verbinding maken. Selecteer Windows-verificatie in het vak Verificatie. Typ een van de volgende verbindingstypen in het vak Servernaam:

    Verbinding maken met Type Voorbeeld
    Standaardexemplaar <computer name> ACCNT27
    Benoemd exemplaar <computer name\instance name> ACCNT27\PAYROLL

    Notitie

    Wanneer u verbinding maakt met SQL Server vanuit een clienttoepassing op dezelfde computer, wordt het gedeelde geheugenprotocol gebruikt. Gedeeld geheugen is een type lokale benoemde buis, dus er kunnen soms fouten optreden die verband houden met buizen.

  4. Als u op dit moment een fout ontvangt, lost u deze op voordat u doorgaat. U bent mogelijk niet gemachtigd om verbinding te maken, of uw standaarddatabase ontbreekt.

    Notitie

    U kunt het probleem niet oplossen zonder voldoende informatie omdat sommige foutberichten opzettelijk worden doorgegeven aan de client. Dit gedrag is een beveiligingsfunctie om te voorkomen dat een aanvaller informatie over SQL Server krijgt. Als u de details van de fout wilt bekijken, raadpleegt u het SQL Server foutenlogboek.

  5. Als u fout 18456: Aanmelding voor gebruiker mislukt ontvangt, bevat het artikel MSSQLSERVER_18456 aanvullende informatie over foutcodes. Het blog van Aaron Bertrand bevat ook een uitgebreide lijst met foutcodes bij Probleem oplossen fout 18456 (externe link). U kunt het foutenlogboek weergeven met behulp van SSMS (als u verbinding kunt maken), in de sectie Beheer van Objectverkenner. Anders kunt u het foutenlogboek weergeven met behulp van het programma Kladblok. De standaardlocatie verschilt per versie en kan tijdens de installatie worden gewijzigd. De standaardlocatie voor SQL Server 2019 (15.x) is C:\Program Files\Microsoft SQL Server\MSSQL15. MSSQLSERVER\MSSQL\Log\ERRORLOG.

  6. Als u verbinding kunt maken met behulp van gedeeld geheugen, test u de verbinding met behulp van TCP. U kunt een TCP-verbinding afdwingen door tcp: vóór de naam op te geven. Dit zijn enkele voorbeelden:

    Verbinding maken met: Type: Voorbeeld:
    Standaardexemplaar tcp:<computer name> tcp:ACCNT27
    Benoemd exemplaar tcp:<computer name/instance name> tcp:ACCNT27\PAYROLL
  7. Als u verbinding kunt maken met behulp van gedeeld geheugen, maar niet tcp, lost u het TCP-probleem op. Het meest waarschijnlijke probleem is dat TCP niet is ingeschakeld. Zie De ingeschakelde protocollen op SQL Server controleren om TCP in te schakelen.

  8. Als u verbinding wilt maken met een ander account dan een beheerdersaccount, moet u eerst verbinding maken als beheerder. Probeer vervolgens opnieuw verbinding te maken met de aanmelding via Windows-verificatie of de aanmelding via SQL Server-verificatie die de clienttoepassing gebruikt.

Externe verbinding testen

Zodra u verbinding kunt maken via TCP op dezelfde computer, probeert u verbinding te maken vanaf de clientcomputer. U kunt elke clienttoepassing gebruiken, maar om complexiteit te voorkomen, installeert u de SQL Server-beheerhulpprogramma's op de client. Probeer na de installatie SQL Server Management Studio te gebruiken.

  1. Gebruik SQL Server Management Studio op de clientcomputer en probeer verbinding te maken met behulp van het IP-adres en het TCP-poortnummer in de indeling <IP address>,<port number>. Bijvoorbeeld 192.168.1.101,1433. Als deze verbinding mislukt, hebt u waarschijnlijk een van de volgende problemen:
  2. Zodra u verbinding kunt maken met behulp van het IP-adres en poortnummer, bekijkt u de volgende scenario's:
    • Als u verbinding maakt met een standaardexemplaar dat luistert op een andere poort dan 1433, moet u het poortnummer in de verbindingsreeks gebruiken of een alias maken op de clientcomputer om verbinding te maken met het standaardexemplaar. De SQL Server Browser-service kan geen poorten van de standaardinstantie inventariseren.
    • Als u verbinding maakt met een benoemd exemplaar, probeert u verbinding te maken met het exemplaar in de indeling van de naam van het IP-adres van het backslash-exemplaar. (Bijvoorbeeld, 192.168.1.101\<instance name>). Als deze actie niet werkt, betekent dit dat het poortnummer niet wordt geretourneerd naar de client. Het probleem heeft te maken met de SQL Server Browser-service, die het poortnummer van een benoemd exemplaar aan de client levert. Dit zijn de oplossingen:
      • Start de SQL Server Browser-service. Zie de instructies voor het starten van de SQL Server-browser in SQL Server Configuration Manager.
      • De SQL Server Browser-service wordt geblokkeerd door de firewall. Open UDP-poort 1434 in de firewall. Ga terug naar de sectie Controleer de firewallconfiguratie. Zorg ervoor dat u een UDP-poort opent, niet een TCP-poort.
      • De informatie over UDP-poort 1434 wordt geblokkeerd door een router. UDP-communicatie (user datagram protocol) is niet ontworpen om routers te passeren en voorkomt dat het netwerk wordt gevuld met verkeer met lage prioriteit. U kunt uw router configureren voor het doorsturen van UDP-verkeer of u kunt het poortnummer opgeven telkens wanneer u verbinding maakt.
      • Als de clientcomputer Gebruikmaakt van Windows 7, Windows Server 2008 of een recenter besturingssysteem, kan het clientbesturingssysteem het UDP-verkeer verwijderen omdat het antwoord van de server wordt geretourneerd vanaf een ander IP-adres dan wat is opgevraagd. Dit gedrag is een beveiligingsfunctie die 'losse brontoewijzing' blokkeert. Zie de sectie IP-adressen van meerdere servers voor probleemoplossing voor meer informatie: Time-out verlopen. Dit artikel is afkomstig van SQL Server 2008 R2, maar de principes zijn nog steeds van toepassing. U kunt de client zo configureren dat het juiste IP-adres wordt gebruikt of het poortnummer opgeven elke keer dat u verbinding maakt.
  3. Zodra u verbinding kunt maken met behulp van het IP-adres (of het IP-adres en de naam van het exemplaar voor een benoemd exemplaar), probeert u verbinding te maken met behulp van de computernaam (of computernaam en exemplaarnaam voor een benoemd exemplaar). Plaats tcp: vóór de computernaam om een TCP/IP-verbinding af te dwingen. Gebruik bijvoorbeeld voor het standaardexemplaar op een computer met de naam ACCNT27tcp:ACCNT27. Voor een benoemd exemplaar met de naam PAYROLL op die computer, gebruik tcp:ACCNT27\PAYROLL. Als u verbinding kunt maken via het IP-adres, maar niet via de computernaam, is er een probleem met naamomzetting. Ga terug naar de sectie TCP/IP-connectiviteit testen.
  4. Zodra u verbinding kunt maken met behulp van de computernaam die TCP afdwingt, probeert u verbinding te maken met behulp van de computernaam zonder TCP af te dwingen. Gebruik bijvoorbeeld voor een standaardexemplaar een computernaam zoals ACCNT27. Gebruik voor een benoemd exemplaar de computernaam en exemplaarnaam, zoals ACCNT27\PAYROLL. Als u verbinding kunt maken wanneer TCP wordt afgedwongen, maar niet zonder TCP af te dwingen, gebruikt de client waarschijnlijk een ander protocol, zoals named pipes. Volg deze stappen om dit probleem op te lossen:
    1. Gebruik SQL Server Configuration Manager op de clientcomputer. Vouw <> uit en selecteer vervolgens Clientprotocollen.
    2. Controleer in het rechterdeelvenster of TCP/IP is ingeschakeld. Als TCP/IP is uitgeschakeld, klikt u met de rechtermuisknop op TCP/IP en selecteert u Inschakelen.
    3. Zorg ervoor dat de protocolvolgorde voor TCP/IP een kleiner aantal is dan de named pipes -protocollen (of VIA op oudere versies). Over het algemeen moet u gedeeld geheugen laten staan als volgorde 1 en TCP/IP als volgorde 2. Gedeeld geheugen wordt alleen gebruikt wanneer de client en SQL Server op dezelfde computer worden uitgevoerd. Alle ingeschakelde protocollen worden op volgorde geprobeerd totdat één is gelukt, maar gedeeld geheugen wordt overgeslagen wanneer de verbinding zich niet op dezelfde computer bevindt.

Controleer gebruikersmachtigingen

Als u Named Pipes gebruikt om verbinding te maken, controleert u of een gebruiker gemachtigd is om zich aan te melden bij Windows. Zie Het probleem met named pipes-verbindingen oplossen voor meer informatie.