配置 Transact-SQL 调试器

您必须配置 Windows 防火墙例外,以在连接到数据库引擎实例(运行该实例的计算机不同于运行数据库引擎查询编辑器的计算机)时启用 Transact-SQL 调试。

配置 Transact-SQL 调试器

Transact-SQL 调试器包括服务器端和客户端组件。服务器端的调试器组件随每个 SQL Server 2008 数据库引擎实例一起安装。客户端组件在您安装 SQL Server 2008 客户端工具时安装。

如果 SQL Server Management Studio 与 SQL Server 数据库引擎实例在同一台计算机上运行,则对于运行 Transact-SQL 调试器没有配置要求。但是,当 SQL Server Management Studio 与数据库引擎实例在不同计算机上运行时,若要运行 Transact-SQL 调试器,则必须在两台计算机上启用程序和端口例外。

注意事项注意

“Windows 防火墙”中启用例外可能会导致您的计算机暴露在防火墙在设计上可以阻止的安全风险之中。对于远程调试启用例外将取消阻止 DCOM(TCP 端口 135)和 IPSEC(UDP 端口 4500 和 UDP 端口 500)。它还允许调试器打开其他端口。

在运行数据库引擎实例的计算机上,使用**“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 帐户下运行。

  • 数据库引擎查询编辑器窗口必须使用 Windows 身份验证来连接,或使用作为 sysadmin 固定服务器角色成员的 SQL Server 身份验证登录名来连接。

  • 数据库引擎查询编辑器窗口必须连接到 SQL Server 2008 数据库引擎或更高版本的实例。如果查询编辑器窗口连接到处于单用户模式下的实例,您将无法运行调试器。