Artikel KB ini: Cara mengonfigurasi SQL Server untuk mendengarkan pada port tertentu akan menjelaskan hal-hal untuk Anda:
Alokasi Port Dinamis
Jika Anda mengonfigurasi instance SQL Server untuk menggunakan alokasi port dinamis, dan Anda belum me-restart instance SQL Server, nilai registri ditetapkan sebagai berikut:
TCPDynamicPorts = Kosong
TCPPort = 0
Namun, jika Anda mengonfigurasi instance SQL Server untuk menggunakan alokasi port dinamis, dan Anda me-restart instance SQL Server, nilai registri ditetapkan sebagai berikut:
TCPDynamicPorts = Port saat ini yang digunakan
TCPPort = Port saat ini yang digunakan
Alokasi Pelabuhan Statis:
Jika Anda mengonfigurasi instance SQL Server untuk menggunakan port statis, dan Anda belum me-restart instance SQL Server, nilai registri ditetapkan sebagai berikut:
TCPDynamicPorts = Port terakhir yang digunakan
TCPPort = Port statis baru yang akan digunakan setelah restart berikutnya; port statis baru yang Anda atur menggunakan Server Network Utility
Namun, jika Anda mengonfigurasi instance SQL Server untuk menggunakan port statis, dan Anda me-restart instance SQL Server, nilai registri ditetapkan sebagai berikut:
TCPDynamicPorts = Kosong
TCPPort = Port statis baru yang Anda atur menggunakan Server Network Utility
untuk pertanyaan kedua Anda -
Setiap kali Anda memulai SQLServer bernama, ia menggunakan port yang dialokasikan. Dalam hal jika port digunakan oleh program lain , maka SQL Server memilih port lain pada saat restart yaitu port dinamis dipilih pada startup pertama, dan umumnya akan tetap sama melalui restart di masa depan (disimpan dalam Registry) - tetapi jika ini digunakan oleh program lain maka SQL server akan memilih port baru. Catatan: Untuk Server Prod, saya hanya menggunakan port statis - keamanan dan kemudahan pengelolaan alasan.
Catatan: Hal-hal keren lainnya yang perlu diketahui:
Periksa apakah Dynamic port digunakan atau tidak menggunakan T-SQL:
SELECT NAME
,protocol_desc
,type_desc
,state_desc
,is_admin_endpoint
,port
,is_dynamic_port
,ip_address
FROM sys.tcp_endpoints
Anda dapat menggunakan netstat -ano
untuk memeriksa menggunakan cmdline.
Selain itu, Anda dapat memeriksa apa yang di-cache sebelumnya di registri di sisi klien untuk port apa yang digunakan untuk terhubung ke server sql:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\Client\SNI11.0\LastConnect
Second question
di pertanyaan saya di atas.