Microsoft SQL Server (MS-SQL) 有一個名為命名執行個體的功能。這項功能可讓您在同一個主機 (或叢集主機) 上執行多個資料庫,並使用不同的設定。每個資料庫執行個體都會在專屬的通訊埠上執行。不過,如果您使用在 Windows 上執行的 MS-SQL 感知用戶端,則可以使用名稱連線,而非通訊埠編號。舉例來說,如果主機名稱為 dbserver
,而執行個體名稱為 proddb
,您就會使用主機名稱 dbserver\proddb
進行連線。
MS-SQL 命名執行個體的連線方式
- 您的用戶端會與主機聯絡,主機名稱位於預設的 MS-SQL 通訊埠 (1433)。
- MS-SQL 會回應已命名執行個體的連接埠。
- 接著,用戶端會連線至該通訊埠。
Looker 無法透過這種方式找出已命名執行個體的通訊埠編號。Looker 連線至某個連接埠後,預期可執行查詢,且不會連線至任何其他連接埠。
如何將 MS-SQL 命名執行個體連結至 Looker
MS-SQL 會在啟動時隨機選擇一個連接埠。如要讓 Looker 連線至 MS-SQL 命名執行個體,您必須找出命名執行個體的執行埠:
- 請參閱「SQL Server - 找出 SQL 例項正在聆聽的 TCP 連接埠號碼」一文,瞭解如何找出連接埠。雖然這篇文章是 2012 年發表的,但 MS-SQL 的各個版本都有類似的程序。
-
找到通訊埠後,您可以在 Looker 的資料庫連線設定中,在
Host:Port
欄位輸入通訊埠名稱。舉例來說,如果通訊埠為61499
,主機名稱為dbserver
,Looker 中的連線會如下所示:host: dbserver port: 61499
- 請注意,每當伺服器重新啟動時,MS-SQL 可能會為具名執行個體選擇不同的通訊埠。這可能需要 MS-SQL 變更防火牆規則,並重新設定 Looker 以使用新的通訊埠。為避免通訊埠變更,您可以選擇為命名執行個體指派靜態通訊埠。如需詳細程序,請參閱「如何為 SQL Server 命名執行個體指派靜態通訊埠,並避免常見陷阱」。
注意:資料庫主機名稱不會採用 dbserver\proddb
的格式,因為如果您是透過執行個體名稱連線,就會採用這種格式。