SQL Server 組態管理員 服務無法啟動 解決方式

今天在連接新的 SQL Server 資料庫的時候,發現無法連接,後來發現是 Port 沒有開啟,先依照這篇文章開啟 Port ,要重啟服務時出現下列錯誤:
    
SQL Server 組態管理員
要求失敗,或服務未即時回應。請參考事件紀錄檔戶其他應用程式錯誤記錄檔,以取得詳細資料。
    


奇怪了,怎麼開不起來?我明明只有開 port 阿,怎麼就壞掉了?服務開不起來連本機的 SQL Server Management Studio 都連不上了啊...

到服務裡面想要把 SQL Server 使用滑鼠右鍵點擊 > 啟動 來重開也失敗

出現錯誤訊息為:
    
Windows 無法在 本換電腦上敵動SQL SeverMSSQLERVER)·
如果您需要更多資訊,請參閱系統事件記錄福。如果這是一非
Microsoft服務,請連絡該服務廠商,並参照服務特定誤碼10048
    


查看 WSAEADDRINUSE 10048 的內容為:
    
已在使用中的位址。
    一般而言,只允許每個通訊端位址 (通訊協定/IP 位址/埠) 使用一個。 如果應用程式嘗試將通訊端 系結 至已用於現有通訊端的 IP 位址/埠,或未正確關閉的通訊端,或仍在關閉過程中的通訊端,就會發生此錯誤。 對於需要將多個通訊端 系結 至相同埠號碼的伺服器應用程式,請考慮使用 setockopt (SO_REUSEADDR) 。 用戶端應用程式通常完全不需要呼叫 系結 ,連線 會自動選擇未使用的埠。 使用與ADDR_ANY) 相關的萬用字元位址 (呼叫 bind 時,WSAEADDRINUSE 錯誤可能會延遲到認可特定位址為止。 這可能會在稍後呼叫另一個函式時發生,包括 connect、 listen、 WSAConnect或 WSAJoinLeaf。
    

看來是 port 衝突,透過查看事件檢視器後發現確實如此
    
伺服器的 TCP 提供者無法接聽 [ 'any' <ipv6> 1433]。Tcp 連接埠已在使用中。
    


於是就再依照這篇文章將 Port 改為 2433 ,並且確認沒有被其他應用程式占用後再去重新啟動服務,成功!
註:記得要在防火牆開啟 port ,不然其他電腦會連不進來

這件事情告訴我們,同一台主機有多個 SQL Server 時不能共用 port,兩個一定要設定為不一樣的

留言