Vejledninger

Sådan løses fejlen 'Der opstod en netværksrelateret eller instansspecifik fejl under oprettelse af en forbindelse til SQL Server'?

“Der opstod en netværksrelateret eller instansspecifik fejl under oprettelse af en forbindelse til SQL Server. Serveren blev ikke fundet eller var ikke tilgængelig. Kontroller, at forekomstnavnet er korrekt, og at SQL Server er konfigureret til at tillade fjernforbindelser. (Udbyder: Named Pipes Provider, fejl: 40 - Kunne ikke åbne en forbindelse til SQL Server) (Microsoft SQL Server, Fejl: 53) ”.

Artiklen diskuterer en grundig liste over fejlfindingsmetoder, der kan bruges til at oprette forbindelse til SQL-serveren. Først og fremmest vil vi diskutere problemer, der opstår, når du har brug for det oprette forbindelse til fjernserveren ved hjælp af IP-adresse da dette er den mest almindelige årsag. Disse trin er skrevet i “SQL Server 2008 R2 på "Windows 10, men de kan også bruges i andre versioner med mindre ændringer.

Fejlen betyder normalt, at “SQL-server blev ikke fundet ” eller “TCP-port er enten ukendt eller forkert ”, eller det kan blokeres af "firewall".

Metode 1: Indsaml oplysninger om forekomsten af ​​SQL Server.

I dette afsnit vil vi diskutere måder at kontrollere enten forekomsten af SQL Server fungerer eller ej sammen med metoder til at rette det, hvis det ikke fungerer.

Trin 1. Kontroller, om en forekomst af SQL Server er installeret og fungerer eller ikke

Først og fremmest login til computeren, der er vært for SQL-serverinstansen. Følg nu disse trin for at åbne tjenester i Windows.

  1. Klik på “Start-menu” og peg derefter på “Alle programmer”.
  2. Peg nu på SQL Server, og peg derefter på “Konfigurationsværktøjer”
  3. Klik på “SQL Server Configuration Manager”.
  4. Vælg nu “SQL Server-tjenester” og kontroller i højre rude, om forekomsten af ​​en databasemotor kører eller ej.
  5. Desuden kan dette åbnes direkte ved at skrive “Services.msc” i LØB og klik Okay. Følgende skærmbillede vises.

Kontroller nu, om databasemotoren er konfigureret til at acceptere fjernforbindelser. Følg følgende trin for at kontrollere dette.

  1. Når tjenester er åbnet, kan du se databasemotoren i højre rude. Det “MSSQLSERVER” er en standard unavngiven instans. En standardforekomst kan kun være en.
  2. I tilfælde af “SQL Express”, standardforekomst vil være “SQLEXPRESS” medmindre det omdøbes af nogen under installationen.
  3. Kontroller, om den forekomst, du prøver at oprette forbindelse til, har samme navn som angivet i tjenesterne.
  4. Bekræft også, om status for forekomsten er “KØRER”.
  5. Desuden, hvis du forsøger at oprette forbindelse til navngivet instant, skal du derefter kontrollere, om “SQL Server-browsertjeneste” løber allerede. Derfor skal du kontrollere, om “SQL Server-browsertjeneste” startes på den server, hvor SQL Server er installeret.
  6. Hvis databasemotoren ikke kører, skal du genstarte den. Så for at starte “Databasemotor”, i højre rude skal du højreklikke på "Database Engine" ("MSSQLSERVER" standard), og klik derefter på "Start".

Trin 2. Få computerens IP-adresse.

Følg disse trin for at gøre dette.

  1. Klik først på startmenuen "LØB" og skriv “Cmd” og tryk på Okay.
  2. I kommandoprompt vinduetype “Ipconfig” og noter IPV4 og IPV6-adresser. Folk bruger mest IPV4-adresse.

Trin 3. Få TCP-portnummeret, der bruges af SQL-serveren

Følg følgende trin for at få TCP-portnummer brugt af SQL-serveren

  1. Ved brug af “SQL Server Management Studio” (SSMS) oprette forbindelse til forekomsten af ​​SQL-server
  2. Fra “Objektudforsker” udvide "Ledelse", udvide “SQL-serverlog” og klik på den aktuelle log, som du skal anvende filteret på.
  3. Klik på Anvend filter og skriv for at anvende filer ”Server lytter” i Besked indeholder tekstfelt. Klik på Anvend filter, og tryk på OK.
  4. En besked som “Server lytter på [‘ any ’1433]” skal vises. Meddelelsen viser, at SQL Server-forekomsten lytter på alle computere med IP-adresse IPv4 og TCP-port er1433 (standard).
  5. For mere end en forekomst vil TCP-port være forskellig for hver forekomst.
  6. Hvis det ikke er tilfældet, skal du klikke på “Alle programmer”, peg på MS SQL-serverkonfigurationsværktøjer, “SQL-serverkonfigurationsstyring” , og højreklik “TCP \ IP” og klik på aktiver og genstart SQL-serveren for at lade ændringer skabe effekt.

Metode 2: Aktivering af protokoller til port 1433

Opretter forbindelse til “Databasemotor” fra en anden computer er ikke tilladt i mange “SQL Server” implementeringer, medmindre en administrator bruger “Configuration Manager” at tillade det. Følgende trin skal følges for at gøre dette.

  1. Klik på “Start-menu” og peg derefter på “Alle programmer”
  2. Peg mod “SQL Server 2008 R2”
  3. Peg mod “Konfigurationsværktøjer”og efter dette klik “SQL Server Configuration Manager”.
  4. Udvide "SQL Server Network Configuration ”.
  5. Vælg "protokollertil MSSQL-server ”. Klik på “TCP \ IP” i højre panel.
  6. I fanen "Protokol" sæt aktiver som "Ja".
  7. Vælg “Fanen IP-adresse” fra vinduet og indstil “TCP-port ” svarende til "1433″ i “IP alle” indgang.
  8. Genstart nu databasemotoren for at foretage ændringer, der påvirker dem. For at gøre dette fra venstre rude skal du vælge SQL-servertjenester og derefter højreklikke på databasemotorinstansen fra højre rude og trykke på "genstart".

Metode 3: Opret en firewallundtagelse

Nogle gange tændes Windows-firewall og blokerer links fra en anden computer. Følg disse trin for at rette det.

  1. Klik på "Start", og begynd at skrive “Firewall.cpl” i køreboksen.
  2. Du får "konfigurationsrammen" til Windows Firewall ved at køre “Firewall.cpl” kommando. Du kan dreje firewallen "tænd sluk" med undtagelser og andre indstillinger, der anvendes her. Kontroller firewallstatus, og tænd den for at aktivere den, hvis firewallen er slukket. Hvis du lige har tændt dette, blokerer din firewall enhver "SQL Server" -forespørgsel om forbindelse til din computer på dette tidspunkt. Ved at gøre visse undtagelser skal du konfigurere firewallen for at give adgang til en SQL Server-databasemotor.
  3. Klik på “Avancerede indstillinger”
  4. Vi er nødt til at lære om de porte, der bruges til “SQL Server" og "SQL Server-browser”-Funktion, når der behandles firewallkonfigurationer med“ SQL Server ”. Begge er involveret i oprettelsen af ​​en ”firewall”Til “SQL Server” . Det ville derfor være nødvendigt at gå separat gennem begge begreber.
  5. Du kan tillade eller blokere trafikforsøg, der opfylder kravene i reglen, for at få adgang til computeren. Som standard “Indgående Trafik" er blokeret, skal du etablere “Indgående Herske" for at tillade trafik at nå computeren. Tryk på de indgående regler fra venstre rude i  “Windows Firewall med avanceret Sikkerhed”Og klik på den nye regel fra "Handlinger" vindue.
  6. Vælg " Havn”Under“ Herske Type”Og tryk på Næste" knap
  7. Vælg nu “Specifikke lokale porte” og indstil den til 1433
  8. Vælg nu ”Tillad forbindelse" i "Handling" dialog og tryk på knappen Næste
  9. Giv reglen entitel" på denne scene og tryk på “ Afslut" knap.
  10. Vælg "Brugerdefineret regel ” fra “Ny regel” fanen
  11. Klik på “Tilpas”
  12. Vælg " Database Engine Instance Service" fra  “Tilpas service Indstillinger ” under ”Anvend dette service"og klik på "OKAY" knap
  13. Giv reglen et navn, og klik på finish
  14. Tilføj også “Sqlservr.exe” typisk placeret i "C: \ Program Files (x86) \ Microsoft SQL Server \ MSSQL.x \ MSSQL \ Bin" (eller tjek din aktuelle mappesti) til stien, skal du kontrollere dine installationer for den aktuelle mappesti) og port, hvis standardværdi er “1433”. Kontroller også din forbindelsesstreng.

Metode 4: Kontroller lokal forbindelse

En af grundene til denne fejl er, at hvis vi angiver det forkerte servernavn, vil dette resultere i en fejl. Som det fremgår af nedenstående figur er det angivne servernavn “DESKTOP-UD88TLT1” mens nøjagtigt servernavn er “DESKTOP-UD88TLT”. Så det vil ikke være i stand til at oprette forbindelse til serveren, hvilket vil resultere i en fejl "kan ikke forbinde til serveren". Dette er den mest grundlæggende årsag til fejl, så vi skal først kontrollere det, hvis vi arbejder lokalt.

Fejlen opstår, når der oprettes forbindelse til SQL-server med det forkerte servernavn. Hvis du bruger ekspressversion efter dit servernavn, skal du tilføje “\ SQLEXPRESS” som det ses i nedenstående figur.