分享方式:


設定多主計算機以進行 SQL Server 存取

只適用於SQL Server - 僅限 Windows。

當伺服器必須提供兩個或多個網路或子網路的連接時,通常會使用多重連線電腦。 此電腦經常位於周邊網路(也稱為已篩選的子網)。 本文說明如何設定 SQL Server 和具有進階安全性的 Windows 防火牆,以便在多重主目錄環境中提供 SQL Server 執行個體的網路連線。

注意

多重連線電腦具有多張網路介面卡,或者已經設定為針對單一網路介面卡使用多個IP位址。 雙網路介面電腦具有兩張網路介面卡,或者已經設定成針對單一網路介面卡使用兩個 IP 位址。

先決條件

在繼續本文之前,您應該先熟悉設定 Windows 防火牆以允許 SQL Server 存取一文中提供的資訊。 本文包含 SQL Server 元件如何使用防火牆的基本資訊。

這個範例假設:

  • 電腦中安裝了兩張網路介面卡。 其中一或多張網路介面卡可能是無線的。 您可以使用某張網路介面卡的 IP 位址,然後使用回送 IP 位址 (127.0.0.1) 當做第二張網路介面卡,藉以模擬擁有兩張網路介面卡。

  • 為了簡化,這個範例會使用 IPv4 位址。 您可以使用 IPv6 位址來執行相同的程序。

    注意

    IPv4 位址是一連串稱為八位元資料組的四個數字。 每個數字都小於 255,並以句號隔開,例如 127.0.0.1。 IPv6 位址是一連串八個十六進位數字 (以冒號隔開),例如 fe80:4898:23:3:49a6:f5c1:2452:b994。

  • 防火牆規則可能會允許透過特定通訊埠存取,例如通訊埠 1433。 或者,防火牆規則可能會允許存取 SQL Server 資料庫引擎程式 (sqlservr.exe)。 這兩種方法沒有誰比較好。 由於周邊網路的伺服器比內部網路的伺服器更容易遭受攻擊,因此本文假設您想要擁有更精確的控制權,並分別選取您所開啟的通訊埠。 基於這個理由,本文假設您將設定 SQL Server 接聽固定埠。 如需 SQL Server 使用之埠的詳細資訊,請參閱 設定 Windows 防火牆以允許 SQL Server 存取

  • 此範例會設定使用 TCP 連接埠 1433 來存取資料庫引擎。 您可以使用相同的一般步驟來設定不同 SQL Server 元件所使用的其他連接埠。

這則範例中的一般步驟如下所示:

  • 判斷電腦的 IP 位址。

  • 設定 SQL Server 接聽特定 TCP 連接埠。

  • 設定具有進階安全性的 Windows 防火牆。

選擇性程序

如果您已經知道電腦可用的 IP 位址,以及 SQL Server 所使用的 IP 位址,就可以略過下列程序。

判斷計算機上可用的IP位址

  1. 在安裝 SQL Server 的電腦上,選取 [ 啟動],選取 [ 執行],輸入 cmd ,然後選取 [ 確定]。

  2. 在 [命令提示字元] 視窗中,輸入 ipconfig ,然後按下 ENTER,即可列出這部電腦可用的 IP 位址。

    ipconfig 命令有時會列出許多可能的連結,包含已中斷連線的連結。 ipconfig 命令可以同時列出 IPv4 及 IPv6 的位址。

  3. 請記下所使用的 IPv4 位址和 IPv6 位址。 清單中的其他資訊 (例如暫時位址、子網路遮罩和預設閘道器) 都是設定 TCP/IP 網路的重要資訊。 但本範例中不會使用這項資訊。

判斷 SQL Server 所使用的 IP 位址和埠

  1. 依序選取 [開始]、[所有程式]、[Microsoft SQL Server]、[組態工具],然後選取 [SQL Server 組態管理員]。

  2. 在 [SQL Server 組態管理員] 的主控台窗格中,依序展開 [SQL Server 網路組態],再展開 [執行個體名稱 的通訊協定],然後雙擊 [TCP/IP]。

  3. 在 [TCP/IP 內容] 對話方塊的 [IP 位址] 索引標籤上會出現數個 IP 位址,這些 IP 位址的格式是 IP1IP2IPAll。 其中一個是環回介面的 IP 位址 127.0.0.1。 設定在電腦上的每個 IP 位址都會出現額外的 IP 位址。

  4. TCP 動態埠 對話框包含 0 時,這表示對於任何 IP 位址,Database Engine 正在使用動態埠進行監聽。 這則範例會使用固定通訊埠來取代可能會在重新啟動時變更的動態通訊埠。 因此,如果 [ TCP 動態埠 ] 對話框包含 0,請刪除 0

  5. 請記下針對您想要設定之每個 IP 位址所列出的 TCP 通訊埠。 在這則範例中,請假設兩個 IP 位址都在接聽預設通訊埠 1433。

  6. 如果您不想讓 SQL Server 使用某些可用的埠,請在 [ 通訊協定 ] 索引卷標上,將 [ 全部接聽 ] 值變更為 [否] ;在 [ IP 位址] 索引標籤上,針對您不想使用的 IP 位址,將 [ 作用 中] 值變更為 [ ]。

設定具有進階安全性的 Windows 防火牆

在您知道電腦所使用的 IP 位址以及 SQL Server 所使用的連接埠之後,就可以建立防火牆規則,然後針對特定的 IP 位址設定這些規則。

建立防火牆規則

  1. 在安裝 SQL Server 的電腦上,以系統管理員身分連線。

  2. 選取 [開始],選取 [ 執行],輸入 wf.msc,然後選取 [ 確定]。

  3. 在 [ 用戶帳戶控制 ] 對話框中,選取 [ 繼續 ] 以使用系統管理員認證開啟具有進階安全性的 Windows 防火牆嵌入式管理單元。

  4. 在 [概觀] 頁面上,確認 Windows 防火牆已啟用。

  5. 在左窗格中,選取 [ 輸入規則]。

  6. 以滑鼠右鍵按兩下 [ 輸入規則],然後選取 [ 新增規則 ] 以開啟 [ 新增輸入規則精靈]。

  7. 您可以針對 SQL Server 程式建立規則。 不過,由於此範例使用固定埠,請選取 [ ],然後選取 [ 下一步]。

  8. 在 [通訊協定及連接埠] 頁面上,選取 [TCP]。

  9. 選取 [特定本地連接埠]。 輸入以逗號分隔的埠號碼,然後選取 [ 下一步]。 在此範例中,您將設定預設埠;因此,輸入 1433

  10. 在 [動作] 頁面上,檢閱這些選項。 在此範例中,您不會使用防火牆強制安全連線。 因此,選取 [允許連線],然後選取 [ 下一步]。

    您的環境可能需要使用安全連接。 如果您選取其中一個安全連接選項,可能必須設定憑證和 [強制加密] 選項。 如需安全連線的詳細資訊,請參閱 設定 SQL Server Database Engine 以加密連線設定 SQL Server Database Engine 來加密連線

  11. 在 [設定檔] 頁面上,針對此規則選取一個或多個設定檔。 如果您不熟悉防火牆配置檔,請選取防火牆程式中的 深入瞭解配置文件 連結。

    • 如果計算機是伺服器,且只有在連線到網域時才可使用,請選取 [ 網域],然後選取 [ 下一步]。

    • 如果計算機是筆記型電腦(例如筆記型電腦),當計算機連線到不同的網路時,可能會使用多個配置檔。 若為行動電腦,您可以針對不同的設定檔設定不同的存取權限。 例如,您可能會在電腦使用網域設定檔時允許存取,但在它使用公用設定檔時拒絕存取。

  12. 在 [ 名稱 ] 頁面上,提供規則的名稱和描述,然後選取 [ 完成]。

  13. 重複這項程序,以便針對 SQL Server 即將使用的每個 IP 位址建立其他規則。

在您已經建立一項或多項規則之後,請執行下列步驟,將電腦上的每個 IP 位址都設定成使用規則。

設定特定IP位址的防火牆規則

  1. 在 [具有進階安全性的 Windows 防火牆輸入規則] 頁面上,以滑鼠右鍵按兩下您剛才建立的規則,然後選取 [屬性]。

  2. 在「規則屬性」對話方塊中,選取「範圍」標籤。

  3. 在 [ 本機 IP 位址 ] 區域中,選取 [這些 IP 位址],然後選取 [ 新增]。

  4. 在 [IP 位址] 對話方塊中,選取 [此 IP 位址或子網路],然後輸入您想要設定的其中一個 IP 位址。

  5. 選取 [確定]。

  6. 在 [ 遠端 IP 位址] 區域中,選取 [這些 IP 位址],然後選取 [ 新增]。

  7. 您可以使用 [IP 位址] 對話方塊,針對電腦上選取的 IP 位址設定連接性。 您可以啟用來自指定之 IP 位址、IP 位址範圍、整個子網路或特定電腦的連接。 若要正確設定這個選項,您必須充分了解網路。 如需有關網路的詳細資訊,請洽詢網路管理員。

  8. 若要關閉 [ IP 位址] 對話框,請選取 [ 確定] ;然後選取 [確定 ] 以關閉 [ 規則屬性 ] 對話框。

  9. 若要在多宿主電腦上設定其他 IP 位址,請使用其他 IP 位址和其他規則來重複上述步驟。