SQLShack (Svenska)

Denna artikel är användbar för en nybörjare i SQL Server-administration och ger insikter om SQL Server-portarna, metoderna för att identifiera för närvarande konfigurerade portar.

Inledning

Vi kan definiera porten som en slutpunkt för tjänsten för kommunikationsändamål. Det kan binda till en viss applikation eller tjänst. När vi har installerat SQL Server konfigurerar den standardportar för SQL Server-tjänster. Varje klientapplikation använder kombinationen av IP-adresser och portnummer för att ansluta till SQL Server.

Vi kan ha två typer av SQL Server-portar i SQL Server.

  1. Statisk port : En statisk port är alltid bunden till en tjänst eller applikation. Det ändras inte på grund av en tjänst eller omstart av systemet. Som standard använder SQL Server statisk TCP-portnummer 1433 för standardinstansen MSSQLSERVER. Om du konfigurerar SQL Server för att använda en annan statisk port än standardporten, bör du kommunicera den till klienterna eller applikationsägarna som ska anges i anslutningssträngen
  2. Dynamisk port: Du kan konfigurera SQL Server för att använda en dynamisk port. Om du använder dynamisk portallokering anger du portnummer noll i nätverkskonfigurationen. När SQL Service startas om begär den ett gratis portnummer från operativsystemet och tilldelar den porten till SQL Server.

    Som du vet använder Application en kombination av SQL Server IP-adress och portnummer. Du kanske tänker på en fråga – Hur kommer ett program att känna till portnumret för anslutning till SQL Server?

När operativsystemet tilldelar en dynamisk SQL Server-port till SQL Server, skriver det portnumret i Windows-registret. SQL Server Browser-tjänst använder UDP-statisk port 1434. Den läser registret för den tilldelade TCP-porten. SQL Server-klientbibliotek ansluter och skickar ett UDP-meddelande med port 1434. SQL Server Browser-tjänsten ger tillbaka portnumret för en specifik instans. Ett program kan ansluta till SQL Server med den dynamiska SQL Server-porten. SQL Server-standardinstans använder den statiska porten. Därför returnerar inte SQL Server Browser port för standardinstansen.

I de flesta fall använder SQL Server samma dynamik som SQL Server-porten när SQL Service startas om. Anta att du har stoppat SQL Services och operativsystem tilldelat det dynamiska portnumret (tidigare tilldelat SQL) till en annan tjänst, SQL Server får en annan dynamisk port tilldelad den.

SQL-webbläsartjänst är viktig för de nämnda instanserna med dynamisk portallokering . Det ska vara i körstatus för att applikationen ska fråga och få portinformation.

Kontrollera SQL Server-portnummer

I det här avsnittet kontrollerar vi en annan metod för att söka efter SQL Server-portnummer.

Metod 1: SQL Server Configuration Manager:

Det är den vanligaste metoden att hitta SQL Server-portnummer.

  • Steg 1:

    Öppna SQL Server Configuration Manager från startmenyn. Om du har flera SQL Server-versioner kan du få ett felmeddelande när du öppnar SQL Server Configuration Manager:

    Det går inte att ansluta till WMI-leverantören. Du har inte behörighet eller servern kan inte nås

    För att fixa det, öppna den administrativa kommandotolken och kör följande kommando

    1

    > mofcomp ”% programfiler (x86 )% \ Microsoft SQL Server \ 150 \ Shared \ sqlmgmproviderxpsp2up.mof ”

    I det här kommandot ändrar du SQL Server-versionen

    • SQL 2008 – 100
    • SQL 2012 – 110
    • SQL 2014 – 120
    • SQL2016 – 130
    • SQL 2017 – 140
    • SQL 2019 – 150

  • Steg 2:

    Gå till nätverkskonfiguration, klicka på den SQL-instans som du vill kontrollera SQL-port för

  • Steg 3:

    Det öppnar protokolllistan. Högerklicka på TCP / IP och egenskaper

  • Steg 4: Klicka på IP-adresser och bläddra ner till IPAll grupp. Du kan se TCP dynamiska SQL-portar och TCP-port i följande skärmdump.

    TCP-dynamiska portvärden visar att vi använder dynamisk portkonfiguration. Den nuvarande tilldelade TCP-dynamiska SQL-porten är 51688.

    Om vi vill använda en statisk port tar du bort det dynamiska portvärdet och anger en statisk port i TCP-porten. Detta portnummer ska vara unikt och inte användas av andra applikationer. Du måste starta om SQL Services för att göra denna ändring effektiv

    • Obs! Du bör endast ändra SQL Server-portkonfigurationen med hjälp av SQL Server Configuration Manager.

Metod 2: SQL Server-felloggar:

SQL Server loggar en post i SQL Server-felloggarna vid varje omstart av SQL Tjänster. Vi kan använda utökad lagrad procedur xp_readerrorlog för att filtrera felloggen med ett visst nyckelord.

Följande fråga använder utökad lagrad procedur xp_readerrorlog för att kontrollera för servern lyssnar på ett nyckelord.

1
2
3

EXEC xp_ReadErrorLog 0, 1, N ”Servern lyssnar på”, N ”any”, NULL, NULL, ”DESC”
GO

Du får detaljerna i SQL Server-porten där den aktuella SQL Server-instansen är konfigurerad.

  • Obs! Om du återanvänder felloggar regelbundet kanske du inte kan hitta SQL Server Port med den här metoden.

Metod 3: Hämta SQL Server Port från registret med xp_instance_regread:

Vi kan använda en utökad lagrad procedur för att få SQL Port-värdet. Kör följande kod i SSMS för att få en dynamisk port för den för närvarande anslutna SQL-instansen.

Vi kan använda @ Value_name = TcpPort för att få detaljer om den statiska porten.

Metod 4: Hämta SQL Server-port från att använda sys.dm_exec_connections DMV:

Vi kan använda sys.dm_exec_connections DMV för att söka efter TCP-porten för ansluten SQL Server-instans. Vi använder @@ SPID-variabeln för att returnera det aktuella sessionens SP-ID.

1
2
3
4

VÄLJ local_tcp_port
FRÅN sys. dm_exec_connections
WHERE session_id = @@ SPID;
GO

Metod 5: Få SQL Server-port från att använda Windows Event Viewer:

Vi kan också använda Windows Event Viewer för att söka efter SQL Serverportinformation. När vi startar om SQL Services får Windows Event Viewer också en post för SQL Port. Windows Event Viewer kan ha ett stort antal händelser. Det är bättre att filtrera händelseloggar för händelse-id 26022.

Gå till Kör och skriv eventvwr. Det öppnar Windows Event Viewer-konsolen. Klicka på – Filtrera aktuell logg.

Ange händelse-ID 26022 och klicka på OK

Eventvisaren visar händelser för alla installerade SQL-servrar på servrarna. Du kan leta efter en specifik instans och söka efter portnumret.

Du kan också välja en specifik SQL-instans i listrutan över händelsekällor.

I följande skärmdump kan vi se en post av SQL Server Port i Windows-händelsevisaren.

Slutsats

I den här artikeln undersökte vi och identifierade metoder för att kontrollera SQL Server-portar och ändra den statiska och dynamiska portkonfigurationen. Om du har några kommentarer eller frågor, lämna dem gärna i kommentarerna nedan.

  • Författare
  • Senaste inlägg
Som MCSA-certifierad och Microsoft Certified Trainer i Gurgaon, Indien, med 13 års erfarenhet, arbetar Rajendra för en mängd stora företag med fokus på prestandaoptimering, övervakning, hög tillgänglighet , och katastrofåterställningsstrategier och implementering. Han är författare till hundratals auktoritativa artiklar om SQL Server, Azure, MySQL, Linux, Power BI, Performance Tuning, AWS / Amazon RDS, Git och relaterade teknologier som hittills har visats av över 10 miljoner läsare.
Han är skaparen av en av de största gratis onlinesamlingarna av artiklar om ett enda ämne, med sin 50-delarserie om SQL Server Always On Availability Groups. Baserat på sitt bidrag till SQL Server-communityn har han fått utmärkelser med olika utmärkelser, inklusive den prestigefyllda ”Årets bästa författare” kontinuerligt 2020 och 2021 på SQLShack.
Raj är alltid intresserad av nya utmaningar så om du behöver råd hjälp om något ämne som omfattas av hans skrifter, kan han nås på [email protected]
Visa alla inlägg av Rajendra Gupta

Senaste inlägg av Rajendra Gupta (se alla)
  • Sessionstidsavbrott i SQL Server Always On Availability Groups – 8 februari 2021
  • Utför mindre och större versionuppgraderingar för AWS RDS SQL Server – 29 januari 2021
  • Distribuera AWS RDS PostgreSQL-instanser – 27 januari 2021

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *