連線至 MS-SQL 命名執行個體

Microsoft SQL Server (MS-SQL) 有一個名為命名執行個體的功能。這項功能可讓您在同一個主機 (或叢集主機) 上執行多個資料庫,並使用不同的設定。每個資料庫執行個體都會在專屬的通訊埠上執行。不過,如果您使用在 Windows 上執行的 MS-SQL 感知用戶端,則可以使用名稱連線,而非通訊埠編號。舉例來說,如果主機名稱為 dbserver,而執行個體名稱為 proddb,您就會使用主機名稱 dbserver\proddb 進行連線。

MS-SQL 命名執行個體的連線方式

  1. 您的用戶端會與主機聯絡,主機名稱位於預設的 MS-SQL 通訊埠 (1433)。
  2. MS-SQL 會回應已命名執行個體的連接埠。
  3. 接著,用戶端會連線至該通訊埠。

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
  • 注意:資料庫主機名稱不會採用 dbserver\proddb 的格式,因為如果您是透過執行個體名稱連線,就會採用這種格式。
  • 請注意,每當伺服器重新啟動時,MS-SQL 可能會為具名執行個體選擇不同的通訊埠。這可能需要 MS-SQL 變更防火牆規則,並重新設定 Looker 以使用新的通訊埠。為避免通訊埠變更,您可以選擇為命名執行個體指派靜態通訊埠。如需詳細程序,請參閱「如何為 SQL Server 命名執行個體指派靜態通訊埠,並避免常見陷阱」。