SQLShack (Română)

Acest articol este util pentru un începător în administrarea SQL Server și oferă informații despre porturile SQL Server, metodele de identificare a porturilor configurate în prezent.

Introducere

Putem defini portul ca punct final al serviciului în scopuri de comunicare. S-ar putea lega de o anumită aplicație sau serviciu. Odată ce instalăm SQL Server, acesta configurează porturile implicite pentru serviciile SQL Server. Fiecare aplicație client utilizează combinația de adrese IP și număr de port pentru a vă conecta la SQL Server.

Putem avea două tipuri de porturi SQL Server în SQL Server.

  1. Port static : Un port static este întotdeauna legat de un serviciu sau aplicație. Nu se modifică din cauza unui service sau a repornirii sistemului. În mod implicit, SQL Server folosește numărul de port static TCP 1433 pentru instanța implicită MSSQLSERVER. Dacă configurați SQL Server pentru a utiliza un port static altul decât portul implicit, ar trebui să-l comunicați clienților sau proprietarilor de aplicații pentru a specifica în șirul de conexiune
  2. Port dinamic: Puteți configura SQL Server pentru a utiliza un port dinamic. Dacă utilizați alocarea dinamică a porturilor, specificați numărul portului zero în configurația rețelei. Odată ce SQL Service repornește, solicită un număr de port gratuit de la sistemul de operare și atribuie acel port SQL Server.

    După cum știți, aplicația utilizează o combinație de adresă IP și număr de port SQL Server, s-ar putea să vă gândiți la o întrebare – Cum va cunoaște o aplicație numărul de port pentru conectarea la SQL Server?

Odată ce sistemul de operare alocă un port SQL Server dinamic către SQL Server, acesta scrie acel număr de port în registrul Windows. Serviciul Browser SQL Server utilizează portul static UDP 1434. Citește registrul pentru portul TCP atribuit. Biblioteca client SQL Server se conectează și trimite un mesaj UDP folosind portul 1434. Serviciul SQL Server Browser redă numărul de port al unei instanțe specifice. O aplicație se poate conecta la SQL Server utilizând acel port dinamic SQL Server. Instanța implicită SQL Server utilizează portul static; prin urmare, browserul SQL Server nu returnează portul pentru instanța implicită.

În majoritatea cazurilor, SQL Server utilizează aceeași dinamică a portului SQL Server și la repornirea serviciului SQL. Să presupunem că ați oprit serviciile SQL și sistemul de operare a alocat numărul de port dinamic (atribuit anterior SQL) unui alt serviciu, SQL Server primește un alt port dinamic atribuit acestuia.

Serviciul SQL Browser este esențial pentru instanțele numite cu alocare dinamică a porturilor . Ar trebui să fie în stare de rulare pentru ca aplicația să interogeze și să obțină detaliile portului.

Verificați numărul de port SQL Server

În această secțiune, vom verifica o altă metodă pentru a verifica numărul de port SQL Server.

Metoda 1: SQL Server Configuration Manager:

Este cea mai obișnuită metodă de a găsi numărul de port SQL Server.

  • Pasul 1:

    Deschideți SQL Server Configuration Manager din meniul Start. În cazul în care aveți mai multe versiuni SQL Server, este posibil să primiți un mesaj de eroare în timp ce deschideți SQL Server Configuration Manager:

    Nu se poate conecta la furnizorul WMI. Nu aveți permisiunea sau serverul este inaccesibil

    Pentru a remedia problema, deschideți promptul de comandă administrativă și executați următoarea comandă

    1

    > mofcomp „% programfiles (x86 )% \ Microsoft SQL Server \ 150 \ Shared \ sqlmgmproviderxpsp2up.mof „

    În această comandă, modificați versiunea SQL Server

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

  • Pasul 2:

    Mergeți la Configurare rețea, faceți clic pe instanța SQL pentru care doriți să verificați portul SQL

  • Pasul 3:

    Deschide lista protocoalelor. Faceți clic dreapta pe TCP / IP și proprietăți

  • Pasul 4: Faceți clic pe Adrese IP și derulați în jos până la IPAll grup. Puteți vedea porturile SQL dinamice TCP și portul TCP în următoarea captură de ecran.

    Valoarea porturilor dinamice TCP arată că folosim configurația porturilor dinamice. Portul SQL dinamic TCP atribuit curent este 51688.

    Dacă dorim să folosim un port static, eliminați valoarea portului dinamic și specificați un port static în portul TCP. Acest număr de port ar trebui să fie unic și să nu fie utilizat de alte aplicații. Trebuie să reporniți serviciile SQL pentru ca această modificare să fie eficientă

    • Notă: ar trebui să modificați configurația portului SQL Server utilizând numai SQL Server Configuration Manager.

Metoda 2: Jurnalele de erori SQL Server:

SQL Server înregistrează o intrare în jurnalele de eroare SQL Server la fiecare repornire a SQL Servicii. Putem utiliza procedura stocată extinsă xp_readerrorlog pentru a filtra jurnalul de erori utilizând un anumit cuvânt cheie.

Următoarea interogare folosește procedura stocată extinsă xp_readerrorlog pentru a verifica căci serverul ascultă un cuvânt cheie.

1
2
3

EXEC xp_ReadErrorLog 0, 1, N „Serverul ascultă pe”, N „orice”, NULL, NULL, „DESC”
GO

Obțineți detaliile portului SQL Server pe care este configurată instanța actuală SQL Server.

  • Notă: dacă reciclați în mod regulat jurnalele de erori, este posibil să nu puteți găsi portul SQL Server utilizând această metodă.

Metoda 3: Obțineți portul SQL Server din registru folosind xp_instance_regread:

Putem folosi o procedură stocată extinsă pentru a obține valoarea portului SQL. Executați următorul cod în SSMS pentru a obține un port dinamic pentru instanța SQL conectată în prezent.

Putem folosi @ Value_name = TcpPort pentru a obține detalii despre portul static.

Metoda 4: Obțineți portul SQL Server folosind sys.dm_exec_connections DMV:

Putem folosi sys.dm_exec_connections DMV pentru a verifica portul TCP al instanței SQL Server conectate. Folosim variabila @@ SPID pentru a returna sesiunea curentă SP ID.

1
2
3
4

SELECT local_tcp_port
FROM sys. dm_exec_connections
WHERE session_id = @@ SPID;
GO

Metoda 5: Obțineți portul SQL Server utilizând Windows Event Viewer:

Putem utiliza și Windows Event Viewer pentru a verifica SQL Detalii port server. Odată ce repornim serviciile SQL, Windows Event Viewer primește și o intrare pentru portul SQL. Windows Event Viewer poate avea un număr mare de evenimente. Este mai bine să filtrați jurnalele de evenimente pentru ID-ul evenimentului 26022.

Accesați Run și tastați eventvwr. Deschide consola Windows Viewer. Faceți clic pe – Filtrare jurnal curent.

Specificați ID-ul evenimentului 26022 și faceți clic pe OK

Vizualizatorul de evenimente afișează evenimente pentru toate serverele SQL instalate pe servere. Puteți căuta o instanță specifică și puteți verifica numărul portului.

De asemenea, puteți selecta o instanță SQL specifică în lista derulantă a surselor de evenimente.

În următoarea captură de ecran, putem vedea o intrare a portului SQL Server în vizualizatorul de evenimente Windows.

Concluzie

În acest articol, am explorat și identificat metode pentru a verifica porturile SQL Server și pentru a modifica configurația portului static și dinamic. Dacă aveți comentarii sau întrebări, nu ezitați să le lăsați în comentariile de mai jos.

  • Autor
  • Postări recente
În calitate de trainer certificat MCSA și certificat Microsoft în Gurgaon, India, cu 13 ani de experiență, Rajendra lucrează pentru o varietate de companii mari concentrându-se pe optimizarea performanței, monitorizare, disponibilitate ridicată și strategii și implementare de recuperare în caz de dezastru. Este autorul a sute de articole de autoritate despre SQL Server, Azure, MySQL, Linux, Power BI, Tuning de performanță, AWS / Amazon RDS, Git și tehnologii conexe care au fost vizualizate de peste 10 milioane de cititori până în prezent.
El este creatorul uneia dintre cele mai mari colecții online gratuite de articole pe un singur subiect, cu seria sa de 50 de părți despre SQL Server Always On Availability Groups. Pe baza contribuției sale la comunitatea SQL Server, a fost recunoscut cu diverse premii, inclusiv prestigiosul „Cel mai bun autor al anului” continuu în 2020 și 2021 la SQLShack.
Raj este mereu interesat de noi provocări, deci dacă aveți nevoie de consultanță ajutor cu privire la orice subiect acoperit în scrierile sale, el poate fi contactat la [email protected]
Vezi toate mesajele lui Rajendra Gupta

Ultimele postări ale lui Rajendra Gupta (vezi toate)
  • Timpurile de expirare ale sesiunii în grupurile de disponibilitate SQL Server Always On – 8 februarie 2021
  • Efectuarea actualizărilor versiunii minore și majore pentru AWS RDS SQL Server – 29 ianuarie 2021
  • Implementarea instanțelor AWS RDS PostgreSQL – 27 ianuarie 2021

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *