如何:启用 Transact-SQL 调试
本主题适用于:
Visual Studio 旗舰版 |
Visual Studio 高级专业版 |
Visual Studio 专业版 |
Visual Studio 速成版 |
---|---|---|---|
使用 Visual Studio 的 Transact-SQL 调试需要一个 SQL Server 数据库服务器、从 SQL Server 2005 开始并设置适当的 权限。如果对应的 SQL Server 实例正在其他计算机上运行,则还需要在两台计算机上都配置 Windows 防火墙。
注意 不支持使用 SQL Server 2000 或更早版本来调试 Transact-SQL。
还可以使用 Visual Studio 调试 SQL CLR 代码(即使用托管代码的数据库对象)。若要对远程数据库服务器调试 SQL CLR,则必须在运行 SQL Server 实例的计算机上安装远程调试监视器。有关更多信息,请参见如何:设置远程调试和调试使用托管代码的数据库对象(SQL CLR 调试)。
有关使用 SQL Server Management Studio 调试 Transact-SQL 的更多信息,请参见使用 Transact-SQL 调试器(可能为英文网页)。
准备对 SQL Server 实例的 SQL Server 权限
将应用程序帐户添加到 SQL Serversysadmin 固定服务器角色。应用程序帐户是用来运行 Visual Studio 的 Windows 帐户。为此,请使用同样是 sysadmin 成员的登录名执行下面的 Transact-SQL 语句,其中 Domain\Name 表示 Windows 帐户登录名: sp_addsrvrolemember 'Domain\Name', 'sysadmin'
将连接帐户添加到 SQL Server sysadmin 固定服务器角色。连接帐户是 Transact-SQL 代码用于连接到 SQL Server 实例的 Windows 登录名或 SQL Server 登录名。为此,请使用同样是 sysadmin 成员的登录名执行下面的 Transact-SQL 语句,其中 Domain\Name 表示相应的帐户:sp_addsrvrolemember 'Domain\Name', 'sysadmin'
提示
我们建议在测试服务器上调试 Transact-SQL 代码,而不要在生产服务器上调试,其原因如下:调试是对权限要求很高的操作。因此,只允许 sysadmin 固定服务器角色的成员在 SQL Server 中进行调试。当您调查多个 Transact-SQL 语句的运行时,调试会话通常会运行很长时间。会话所获取的锁(如更新锁)可能会持有很长时间,直到结束会话或者提交或回滚事务。
准备 Windows 防火墙进行远程调试(当 SQL Server 在另一台计算机上运行时)
在运行 Visual Studio 的计算机上,必须将下列项添加到 Windows 防火墙例外列表中:
Visual Studio 程序 Devenv.exe。
TCP 端口 135
在运行 SQL Server 实例的计算机上,必须将下列项添加到 Windows 防火墙例外列表中:
SQL Server 程序 sqlservr.exe。默认情况下,sqlservr.exe 安装在 C:\Program Files\Microsoft SQL Server\MSSQL10.InstanceName\MSSQL\Binn 中,其中 InstanceName 对于默认实例为 MSSQLSERVER,而对于任何命名实例为实例名称。
TCP 端口 135
如果您的域策略要求通过 IPSec 进行网络通信,还必须打开 UDP 4500 和 UDP 500 端口。