設定 Transact-SQL 偵錯工具

當您所連接的 Database Engine 執行個體與 Database Engine 查詢編輯器在不同的電腦上執行時,就必須設定 Windows 防火牆例外,才能啟用 Transact-SQL 偵錯。

設定 Transact-SQL 偵錯工具

Transact-SQL 偵錯工具同時包含伺服器端和用戶端元件。伺服器端偵錯工具元件會與每個 SQL Server 2008 Database Engine 執行個體一起安裝。用戶端元件則會在您安裝 SQL Server 2008 用戶端工具時安裝。

當 SQL Server Management Studio 與 SQL Server Database Engine 執行個體在同一部電腦上執行時,沒有任何執行 Transact-SQL 偵錯工具的組態需求。不過,當 SQL Server Management Studio 與 Database Engine 執行個體在不同的電腦上執行時,若要執行 Transact-SQL 偵錯工具,您就必須在這兩部電腦上啟用程式和通訊埠例外。

警告注意事項注意

[Windows 防火牆] 中啟用例外可能會讓您的電腦暴露在防火牆設計可封鎖的安全性威脅下。針對遠端偵錯啟用例外會解除封鎖 DCOM (TCP 通訊埠 135) 和 IPSEC (UDP 通訊埠 4500 和 UDP 通訊埠 500)。此外,它也會讓偵錯工具開啟其他通訊埠。

在執行 Database Engine 執行個體的電腦上,使用 [Windows 防火牆] 控制台應用程式來指定下列資訊:

  • 將 TCP 通訊埠 135 加入至例外清單。

  • 將程式 sqlservr.exe 加入至例外清單。根據預設,sqlservr.exe 安裝在 C:\Program Files\Microsoft SQL Server\MSSQL10.InstanceName\MSSQL\Binn 中,其中 InstanceName 是 MSSQLSERVER (若為預設執行個體),而且它是任何具名執行個體的執行個體名稱。

  • 如果網域原則要求透過 IPsec 完成網路通訊,您也必須將 UDP 通訊埠 4500 和 UDP 通訊埠 500 加入至例外清單。

在執行 SQL Server Management Studio 的電腦上,當您第一次開啟偵錯工作階段時,SQL Server Management Studio 就會開啟一個對話方塊,其中包含三個用於設定遠端偵錯存取的選項。

  • 取消遠端偵錯
    取消嘗試啟動偵錯的作業。電腦的安全性設定會維持不變。

  • 解除封鎖來自區域網路 (子網路) 電腦的遠端偵錯
    可讓您針對區域子網路上的電腦進行遠端偵錯。雖然這項設定可能會開啟區域子網路上電腦的弱點,不過防火牆會繼續封鎖來自子網路外部的資訊。

  • 解除封鎖來自任何電腦的遠端偵錯
    可讓您針對位於網路上任何位置的電腦進行遠端偵錯。這項設定的安全性最低。

(選擇性) 您可以手動設定程式和通訊埠例外,方法是使用 [Windows 防火牆] 來指定下列資訊:

  • 將 TCP 通訊埠 135 加入至例外清單。

  • 將程式 ssms.exe (SQL Server Management Studio) 加入至例外清單。根據預設,ssms.exe 安裝在 C:\Program Files\Microsoft SQL Server\100\Tools\Binn\VSShell\Common7\IDE 中。

啟動偵錯工具的需求

啟動 Transact-SQL 偵錯工具的需求如下:

  • SQL Server Management Studio 必須在屬於系統管理員 (sysadmin) 固定伺服器角色成員的 Windows 帳戶底下執行。

  • 您必須使用屬於系統管理員 (sysadmin) 固定伺服器角色成員的 Windows 驗證或 SQL Server 驗證登入來連接 Database Engine 查詢編輯器視窗。

  • Database Engine 查詢編輯器視窗必須連接至 SQL Server 2008 Database Engine 或更新版本的執行個體。當 [查詢編輯器] 視窗連接至處於單一使用者模式下的執行個體時,您就無法執行偵錯工具。