Hur åtgärdar du felet ”Ett nätverksrelaterat eller instansspecifikt fel inträffade när du upprättade en anslutning till SQL Server”?
”Ett nätverksrelaterat eller instansspecifikt fel inträffade när en anslutning till SQL Server upprättades. Servern hittades inte eller var inte tillgänglig. Kontrollera att förekomstnamnet är korrekt och att SQL Server är konfigurerad för att tillåta fjärranslutningar. (Provider: Named Pipes Provider, error: 40 - Det gick inte att öppna en anslutning till SQL Server) (Microsoft SQL Server, fel: 53) ”.
Artikeln diskuterar en grundlig lista över felsökningsmetoder som kan användas för att ansluta till SQL-servern. Först och främst kommer vi att diskutera problem som uppstår när du behöver ansluta till fjärrservern med IP-adress eftersom detta är den vanligaste orsaken. Dessa steg är skrivna i ”SQL Server 2008 R2 på “Windows 10, men de kan också användas i andra versioner med mindre ändringar.
Felet betyder vanligtvis attSQL-server hittades inte ” eller “TCP-porten är antingen okänd eller fel ”, eller den kan blockeras av ”brandväggen”.
Metod 1: Samla information om förekomsten av SQL Server.
I detta avsnitt kommer vi att diskutera sätt att kontrollera antingen förekomsten av SQL Server fungerar eller inte, tillsammans med metoder för att fixa det om det inte fungerar.
Steg 1. Kontrollera om en instans av SQL Server är installerad och fungerar eller inte
Först och främst logga in på den dator som är värd för SQL-serverinstansen. Följ nu dessa steg för att öppna tjänster i Windows.
- Klicka på "Start meny" och peka sedan på "Alla program".
- Peka nu på SQL Server och peka sedan på “Konfigurationsverktyg”
- Klick “SQL Server Configuration Manager”.
- Välj nu “SQL Server-tjänster” och kontrollera i den högra rutan om förekomsten av en databasmotor körs eller inte.
- Dessutom kan detta öppnas direkt genom att skriva “Services.msc” i SPRINGA och klicka OK. Följande skärm visas.
Kontrollera nu om databasmotorn har konfigurerats för att acceptera fjärranslutningar. Följ följande steg för att kontrollera detta.
- Efter att tjänster har öppnats kan du se databasmotorn i den högra rutan. De “MSSQLSERVER” är en standard namngiven instans. En standardinstans kan bara vara en.
- I fallet med “SQL Express”, standardinstans kommer att vara “SQLEXPRESS” såvida det inte byts namn av någon under installationen.
- Kontrollera om förekomsten du försöker ansluta har samma namn som anges i tjänsterna.
- Bekräfta också om instansens status är "LÖPNING".
- Dessutom, om du försöker ansluta till namnet instant, kontrollera sedan om “SQL Server webbläsartjänst” är redan igång. Således måste du kontrollera om “SQL Server webbläsartjänst” startas på servern där SQL Server är installerad.
- Om databasmotorn inte är igång måste du starta om den. Så att börja “Databasmotor”, i den högra rutan, högerklicka på "Databasmotor" ("MSSQLSERVER" standard)och klicka sedan på "Start".
Steg 2. Skaffa datorns IP-adress.
Följ dessa steg för att göra detta.
- Klicka först på startmenyn "SPRINGA" och typ “Cmd” och tryck ok.
- I kommandotolken fönstertyp “Ipconfig” och anteckna IPV4 och IPV6-adresser. Människor använder mest IPV4-adress.
Steg 3. Hämta TCP-portnumret som används av SQL-servern
Följ följande steg för att få TCP-portnummer som används av SQL-servern
- Använder sig av “SQL Server Management Studio” (SSMS) ansluta till förekomsten av SQL-servern
- Från “Objektutforskare” bygga ut "Förvaltning", bygga ut “SQL-serverlogg” och klicka på den aktuella loggen som du måste tillämpa filtret på.
- Klicka på Apply filter och typ för att tillämpa filer ”Servern lyssnar på” i Meddelande innehåller textruta. Klicka på Apply filter och tryck på OK.
- Ett meddelande som "Servern lyssnar på [" any "
1433]” ska visas. Meddelandet visar att SQL Server-instansen lyssnar på alla datorer med IP-adress IPv4 och TCP-port är1433 (standard). - För mer än en instans kommer TCP-porten att vara olika för varje instans.
- Om det inte är fall klickar du på "Alla program", peka på MS SQL-server konfigurationsverktyg, “SQL Server Configuration Management” och högerklicka “TCP \ IP” och klicka på aktivera och starta om SQL-servern för att låta ändringar skapa effekt.
Metod 2: Aktiverar protokoll för port 1433
Ansluter till “Databasmotor” från en annan dator är inte tillåtet i många “SQL Server” implementeringar såvida inte en administratör använder "Konfigurationshanteraren" för att tillåta det. Följande steg bör följas för att göra detta.
- Klicka på "Start meny" och peka sedan på "Alla program"
- Peka mot “SQL Server 2008 R2”
- Peka mot “Konfigurationsverktyg”och efter det här klicket “SQL Server Configuration Manager”.
- Bygga ut "SQL Server Network Configuration ”.
- Välj "protokoll för MSSQL-server ”. Klicka på “TCP \ IP” i den högra panelen.
- På fliken "protokoll" ställa in aktivera som "ja".
- Välj den “IP-adressflik” från fönstret och ställ in “TCP-port ” lika med "1433″ i “IP All” inträde.
- Starta nu om databasmotorn för att göra ändringar som påverkar dem. För att göra detta från den vänstra rutan, välj SQL-servertjänster och högerklicka sedan på databasmotorinstansen från höger ruta och tryck på "omstart".
Metod 3: Skapa ett brandväggsundantag
Ibland slås Windows-brandväggen på och blockerar länkar från en annan dator. Följ dessa steg för att fixa det.
- Klicka på “Start” och börja skriva “Firewall.cpl” i körrutan.
- Du får "konfigurationsramen" för Windows Firewall genom att köra “Firewall.cpl” kommando. Du kan vända brandväggen "på av" med undantag och andra inställningar som tillämpas här. Kontrollera brandväggens status och slå på den för att aktivera den om brandväggen är avstängd. Om du just har aktiverat detta kommer din brandvägg att blockera alla "SQL Server" -anslutningsförfrågningar till din dator just nu. Genom att göra vissa undantag måste du konfigurera brandväggen för att ge åtkomst till en SQL Server-databasmotor.
- Klicka på “Avancerade inställningar”
- Vi måste lära oss om de hamnar som används för ”SQL Server" och den "SQL Server-webbläsare”-Funktion när man hanterar“ SQL Server ”-väggkonfigurationer. Båda är involverade i upprättandet av enbrandvägg" för “SQL Server” . Det skulle därför vara nödvändigt att gå igenom båda begreppen.
- Du kan tillåta eller blockera trafikförsök som uppfyller kraven i regeln för att komma åt datorn. Som standard “Inkommandetrafik" är blockerad måste du upprätta“Inkommanderegel" för att låta trafik nå datorn. Knacka på inkommande regler från den vänstra rutan på “Windows-brandvägg med avanceradsäkerhet”Och klicka på den nya regeln från"Insatser" fönster.
- Välj "Hamn" under "RegelTyp”Och tryck “Nästa" knapp
- Välj nu “Specifika lokala hamnar” och ställ in den till 1433
- Välj nu ”Tillåtförbindelse" i"Handling" dialogrutan och tryck på Nästa
- Ge regeln a “titel" på detta stadium och tryck på “Avsluta" knapp.
- Välj "Anpassad regel ” från "Ny regel" flik
- Klick “Anpassa”
- Välj "DatabasmotorinstansService" från “Anpassa tjänstenInställningar" under”Tillämpa detta service"och klicka på"OK" knapp
- Ge regeln ett namn och klicka på Slutför
- Lägg också till “Sqlservr.exe” vanligtvis ligger i "C: \ Program Files (x86) \ Microsoft SQL Server \ MSSQL.x \ MSSQL \ Bin" (eller kontrollera din faktiska mappsökväg) till sökvägen, kontrollera dina installationer för den aktuella mappsökvägen) och port vars standardvärde är “1433”. Kontrollera också din anslutningssträng.
Metod 4: Kontrollera lokal anslutning
En av anledningarna till detta fel är om vi anger fel servernamn, detta kommer att resultera i ett fel. Som framgår av figuren nedan är det angivna servernamnet “DESKTOP-UD88TLT1” medan exakt servernamn är “DESKTOP-UD88TLT”. Så det kommer inte att kunna ansluta till servern vilket leder till ett fel "kan inte kontakta server". Detta är den mest grundläggande orsaken till fel, så vi bör kontrollera det först om vi arbetar lokalt.
Felet uppstår när du ansluter lokalt till SQL-server med fel servernamn Om du använder expressversion efter ditt servernamn, lägg till “\ SQLEXPRESS” som framgår av figuren nedan.