Bu KB makalesi: SQL Server'ı belirli bir portta dinleyecek şekilde yapılandırma , sizin için olayları netleştirir:
Dinamik Port Tahsisi
SQL Server örneğini dinamik bağlantı noktası ayırma kullanacak şekilde yapılandırırsanız ve SQL Server örneğini henüz yeniden başlatmamışsanız, kayıt defteri değerleri aşağıdaki gibi ayarlanır:
TCPDynamicPorts = Boş
TCPPort = 0
Ancak, dinamik bağlantı noktası ayırma kullanacak bir SQL Server örneği yapılandırırsanız ve SQL Server örneğini yeniden başlatırsanız, kayıt defteri değerleri aşağıdaki gibi ayarlanır:
TCPDynamicPorts = Kullanılan akım portu
TCPPort = Kullanılan geçerli port
Statik Liman Tahsisi:
Bir SQL Server örneğini statik bir bağlantı noktası kullanacak şekilde yapılandırırsanız ve SQL Server örneğini henüz yeniden başlatmadıysanız, kayıt defteri değerleri aşağıdaki gibi ayarlanır:
TCPDynamicPorts = Kullanılan son bağlantı noktası
TCPPort = Bir sonraki yeniden başlatmadan sonra kullanılacak yeni statik port; Sunucu Ağ Yardımcı Programını kullanarak belirlediğiniz yeni statik bağlantı noktası
Ancak, statik bir bağlantı noktası kullanacak bir SQL Server örneği yapılandırırsanız ve SQL Server örneğini yeniden başlatırsanız, kayıt defteri değerleri aşağıdaki gibi ayarlanır:
TCPDynamicPorts = Boş
TCPPort = Sunucu Ağ Yardımcı Programını kullanarak belirlediğiniz yeni statik bağlantı noktası
ikinci sorunuz için -
Adlandırılmış SQLServer'ı her başlatışınızda, ayrılan bağlantı noktasını kullanır. Liman başka bir program tarafından kullanılıyorsa durumunda , o zaman SQL Server dinamik bağlantı noktası ilk açılışta seçilir yeniden başlatma yani anında başka bir bağlantı noktası seçer ve olacaktır genellikle aynı kalır (Kayıt saklanan) gelecek yeniden aracılığıyla - ama eğer başka bir program tarafından kullanıldığında, SQL server yeni bir port seçecektir. not: Prod Sunucular için sadece statik portlar kullanıyorum - güvenlik ve yönetilebilirlik sebepleri
Not: Daha fazla şey bulmak için soğur:
Dinamik bağlantı noktasının kullanılıp kullanılmadığını kontrol edin T-SQL:
SELECT NAME
,protocol_desc
,type_desc
,state_desc
,is_admin_endpoint
,port
,is_dynamic_port
,ip_address
FROM sys.tcp_endpoints
netstat -ano
Cmdline kullanarak kontrol etmek için kullanabilirsiniz .
Ayrıca, istemci tarafında kayıt defterinde daha önce nelerin önbelleğe alındığını, sql sunucusuna bağlanmak için hangi bağlantı noktasının kullanıldığını kontrol edebilirsiniz:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\Client\SNI11.0\LastConnect
Second question
Yukarıdaki soruma bakın .