我的本地機器上有兩個SQL Server實例。他們都聽取不同的端口。我安裝的第一個實例運行在默認端口1433上。我已經設置了另一個端口來監聽端口1434.當在SQL Server連接字符串中未指定端口號時會發生什麼情況?
我的應用程序使用了一些我們在這裏生成連接字符串的舊共享代碼。所以直到現在我還不知道那裏發生了什麼。由於新的要求,我發現自己需要檢查連接到SQL Server的連接字符串。
我發現,連接字符串被建立連接到每個SQL實例不包括網絡庫,也沒有包括端口號作爲數據源的一部分。數據源剛剛設置爲<Server Name>/<Instance Name>
。我在MS文檔中發現,如果網絡庫不包含在內,那麼它將被視爲(local)
,但它並不能解釋如何處理(local)
。
所以我的問題是爲什麼這種格式的連接字符串能夠連接到在非默認端口上運行的SQL Server實例?如果這些實例位於本地計算機或本地網絡上,這隻會起作用嗎?如果服務器是遠程的,我可以不帶端口<ip>/<sql instance>
嗎?
我只是需要一些清晰的說明這是如何工作的,什麼時候需要端口號,什麼時候是可選的,因爲我試圖讓我的連接用戶界面儘可能簡單。
如果我將tcp/ip端口設置爲1433並重新啓動這兩個服務。第二項服務無法啓動。我的印象是你只能有一個實例監聽任何特定的端口。 – Jesse