我注意到,如果我在建立連接字符串時沒有提供端口,我仍然可以通過一個看起來像[SERVER] [INSTANCE_NAME]的命名實例連接到SQL Server。端口是否從SQL Server自動收集?
sqlclient是否爲我自動收集端口號?即使實例是默認實例,我是否也必須關心自己的端口號?
對不起,如果這個問題似乎是新手。谷歌沒有爲我做任何事情。
謝謝!
我注意到,如果我在建立連接字符串時沒有提供端口,我仍然可以通過一個看起來像[SERVER] [INSTANCE_NAME]的命名實例連接到SQL Server。端口是否從SQL Server自動收集?
sqlclient是否爲我自動收集端口號?即使實例是默認實例,我是否也必須關心自己的端口號?
對不起,如果這個問題似乎是新手。谷歌沒有爲我做任何事情。
謝謝!
通常情況下,SQL Server偵聽的默認端口是1433,因此您不需要在連接字符串中指定端口號。
有一個很好的文章,讓一些關於這個問題的詳細信息:
http://benchmarkitconsulting.com/colin-stasiuk/2009/02/02/what-tcp-port-is-sql-server-running-under/
有一點要記住,雖然是,如果你有安裝在同一臺計算機上SQL Server的多個實例,那麼每個實例將使用不同的隨機端口號(儘管可以使用SQL Server配置管理器指定特定的端口號,右鍵單擊服務&選擇屬性)。
如果您通過實例名稱連接,並且SQL Server Browser服務正在運行,它將自動將所有請求重定向到適當的端口。
要記住的另一件事是,SQL Server Express Edition(即免費版本)默認情況下不啓用TCP/IP協議。我知道這是舊版SQL Server的行爲,但在新版本中可能會發生更改。