SQLShack (Italiano)

Questo articolo è utile per un principiante nellamministrazione di SQL Server e fornisce approfondimenti sulle porte di SQL Server, i metodi per identificare le porte attualmente configurate.

Introduzione

Possiamo definire la porta come un endpoint del servizio per scopi di comunicazione. Potrebbe legarsi a una particolare applicazione o servizio. Una volta installato SQL Server, configura le porte predefinite per i servizi di SQL Server. Ogni applicazione client utilizza la combinazione di indirizzi IP e numero di porta per connettersi a SQL Server.

Possiamo avere due tipi di porte SQL Server in SQL Server.

  1. Porta statica : Una porta statica è sempre associata a un servizio o unapplicazione. Non cambia a causa di un servizio o del riavvio del sistema. Per impostazione predefinita, SQL Server utilizza il numero di porta TCP statica 1433 per listanza predefinita MSSQLSERVER. Se si configura SQL Server per utilizzare una porta statica diversa dalla porta predefinita, è necessario comunicarlo ai client o ai proprietari dellapplicazione per specificarlo nella stringa di connessione
  2. Porta dinamica: è possibile configurare SQL Server per utilizzare una porta dinamica. Se si utilizza lallocazione dinamica della porta, specificare il numero di porta zero nella configurazione di rete. Dopo il riavvio del servizio SQL, richiede un numero di porta disponibile dal sistema operativo e assegna tale porta a SQL Server.

    Come saprai, lapplicazione utilizza una combinazione di indirizzo IP e numero di porta di SQL Server, potresti pensare a una domanda: come farà unapplicazione a conoscere il numero di porta per la connessione a SQL Server?

Dopo che il sistema operativo assegna una porta SQL Server dinamica a SQL Server, scrive il numero di porta nel registro di Windows. Il servizio SQL Server Browser utilizza la porta statica UDP 1434. Legge il registro per la porta TCP assegnata. La libreria client di SQL Server si connette e invia un messaggio UDP utilizzando la porta 1434. Il servizio SQL Server Browser restituisce il numero di porta di unistanza specifica. Unapplicazione può connettersi a SQL Server utilizzando quella porta dinamica di SQL Server. Listanza predefinita di SQL Server utilizza la porta statica; pertanto, SQL Server Browser non restituisce la porta per listanza predefinita.

Nella maggior parte dei casi, SQL Server utilizza la stessa dinamica della porta SQL Server anche al riavvio del servizio SQL. Supponiamo che tu abbia arrestato i servizi SQL e il sistema operativo abbia assegnato il numero di porta dinamica (precedentemente assegnato a SQL) a un altro servizio, a SQL Server viene assegnata unaltra porta dinamica.

Il servizio SQL Browser è essenziale per le istanze denominate con allocazione dinamica delle porte . Dovrebbe essere in stato di esecuzione per consentire allapplicazione di interrogare e ottenere i dettagli della porta.

Controlla il numero di porta di SQL Server

In questa sezione, controlleremo un metodo diverso per verificare il numero di porta di SQL Server.

Metodo 1: Gestione configurazione SQL Server:

È il metodo più comune per trovare il numero di porta di SQL Server.

  • Passaggio 1:

    Apri Gestione configurazione SQL Server dal menu Start. Se disponi di più versioni di SQL Server, potresti ricevere un messaggio di errore durante lapertura di Gestione configurazione SQL Server:

    Impossibile connettersi al provider WMI. Non hai lautorizzazione o il server non è raggiungibile

    Per risolvere il problema, apri il prompt dei comandi di amministrazione ed esegui il seguente comando

    1

    > mofcomp “% file di programma (x86 )% \ Microsoft SQL Server \ 150 \ Shared \ sqlmgmproviderxpsp2up.mof “

    In questo comando, modifica la versione di SQL Server

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

  • Passaggio 2:

    vai a Configurazione di rete, fai clic sullistanza SQL per la quale desideri controllare la porta SQL

  • Passaggio 3:

    Apre lelenco dei protocolli. Fai clic con il tasto destro su TCP / IP e proprietà

  • Passaggio 4: fai clic su Indirizzi IP e scorri verso il basso fino a IPAll gruppo. Puoi vedere le porte TCP dinamiche SQL e la porta TCP nella seguente schermata.

    Il valore delle porte dinamiche TCP indica che stiamo utilizzando la configurazione delle porte dinamiche. La porta SQL dinamica TCP attualmente assegnata è 51688.

    Se si desidera utilizzare una porta statica, rimuovere il valore della porta dinamica e specificare una porta statica nella porta TCP. Questo numero di porta dovrebbe essere univoco e non essere utilizzato da altre applicazioni. È necessario riavviare SQL Services per rendere effettiva questa modifica

    • Nota: è necessario modificare la configurazione della porta SQL Server utilizzando solo SQL Server Configuration Manager.

Metodo 2: log degli errori di SQL Server:

SQL Server registra una voce nei log degli errori di SQL Server a ogni riavvio di SQL Servizi. Possiamo utilizzare la stored procedure estesa xp_readerrorlog per filtrare il log degli errori utilizzando una particolare parola chiave.

La seguente query utilizza la stored procedure estesa xp_readerrorlog per controllare perché il server è in ascolto su una parola chiave.

1
2
3

EXEC xp_ReadErrorLog 0, 1, N “Il server è in ascolto”, N “qualsiasi”, NULL, NULL, “DESC”
VAI

Vengono visualizzati i dettagli della porta di SQL Server su cui è configurata listanza di SQL Server corrente.

  • Nota: se ricicli regolarmente i log degli errori, potresti non essere in grado di trovare la porta di SQL Server utilizzando questo metodo.

Metodo 3: ottenere la porta di SQL Server dal registro utilizzando xp_instance_regread:

È possibile utilizzare una stored procedure estesa per ottenere il valore della porta SQL. Esegui il codice seguente in SSMS per ottenere una porta dinamica per listanza SQL attualmente connessa.

Possiamo usare @ Value_name = TcpPort per ottenere dettagli sulla porta statica.

Metodo 4: ottenere la porta di SQL Server utilizzando sys.dm_exec_connections DMV:

È possibile utilizzare sys.dm_exec_connections DMV per verificare la porta TCP dellistanza di SQL Server connessa. Utilizziamo la variabile @@ SPID per restituire lID SP della sessione corrente.

1
2
3
4

SELEZIONA local_tcp_port
FROM sys. dm_exec_connections
WHERE session_id = @@ SPID;
VAI

Metodo 5: Ottieni la porta di SQL Server utilizzando il Visualizzatore eventi di Windows:

Possiamo utilizzare anche il Visualizzatore eventi di Windows per verificare la presenza di SQL Dettagli della porta del server. Dopo aver riavviato i servizi SQL, anche il Visualizzatore eventi di Windows riceve una voce per la porta SQL. Il Visualizzatore eventi di Windows potrebbe contenere un numero elevato di eventi. È meglio filtrare i log degli eventi per lid evento 26022.

Vai su Esegui e digita eventvwr. Apre la console del visualizzatore eventi di Windows. Fai clic su – Filtra registro corrente.

Specifica lID evento 26022 e fai clic su OK

Il visualizzatore di eventi mostra gli eventi per tutti i server SQL installati nei server. Puoi cercare unistanza specifica e controllare il numero di porta.

Puoi anche selezionare unistanza SQL specifica nellelenco a discesa di Sorgenti evento.

Nello screenshot seguente, possiamo vedere una voce della porta SQL Server nel visualizzatore eventi di Windows.

Conclusione

In questo articolo, abbiamo esplorato e identificato metodi per controllare le porte di SQL Server e modificare la configurazione delle porte statiche e dinamiche. Se hai commenti o domande, non esitare a lasciarli nei commenti di seguito.

  • Autore
  • Post recenti
In qualità di Trainer certificato MCSA e Microsoft Certified a Gurgaon, India, con 13 anni di esperienza, Rajendra lavora per una varietà di grandi aziende concentrandosi su ottimizzazione delle prestazioni, monitoraggio, alta disponibilità e strategie e implementazione di ripristino di emergenza. È autore di centinaia di articoli autorevoli su SQL Server, Azure, MySQL, Linux, Power BI, Performance tuning, AWS / Amazon RDS, Git e tecnologie correlate che sono stati visualizzati da oltre 10 milioni di lettori fino ad oggi.
È lautore di una delle più grandi raccolte online gratuite di articoli su un singolo argomento, con la sua serie di 50 parti sui gruppi di disponibilità Always On di SQL Server. Sulla base del suo contributo alla comunità di SQL Server, è stato riconosciuto con vari premi tra cui il prestigioso “Miglior autore dellanno” ininterrottamente nel 2020 e 2021 a SQLShack.
Raj è sempre interessato a nuove sfide, quindi se hai bisogno di consulenza aiuto su qualsiasi argomento trattato nei suoi scritti, può essere raggiunto a [email protected]
Visualizza tutti i post di Rajendra Gupta

Ultimi post di Rajendra Gupta (vedi tutti)
  • Timeout della sessione nei gruppi di disponibilità AlwaysOn di SQL Server – 8 febbraio 2021
  • Esecuzione di aggiornamenti delle versioni minori e principali per AWS RDS SQL Server – 29 gennaio 2021
  • Distribuzione di istanze PostgreSQL di AWS RDS – 27 gennaio 2021

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *