Tho*_*ger 5 sql-server debugging remote
我遇到了远程调试问题。我有一个非域服务器和一个非域客户端 PC。客户端 PC 可以成功连接到服务器和实例,它甚至可以作为服务器本地管理员帐户的上下文运行 SSMS。但即使设置了所有这些,当我尝试在 SSMS 中调试时,我还是收到以下错误:
无法启动 T-SQL 调试。无法附加到 SQL Server 进程
我已遵循此资源中的所有这些步骤和检查:
测试 1:当您在本地连接到同一实例时,问题不会重现
测试 2:检查 TCP 139、TCP 445、UDP 137 和 UDP 138 是否从双方(服务器和客户端)打开(例如:配置 Transact-SQL 调试器)
测试 3:检查 SQL management Studio 是否已通过“运行管理员...”启动
测试 4:检查 SQL 服务帐户是否可以连接到客户端计算机。使用T-SQL调试时,SQL服务账号会与机器主机Management Studio进行通信。使用域账号设置SQL服务是一个额外的原因
测试 5:检查 SSMS 和 SQL 服务器服务是否在同一个域中。如果没有,请设置与 SQL Server 使用的帐户和密码相同的帐户和密码。
测试 6:检查您的域帐户是否为 sysadmin。
测试 7:检查 Kerberos 是否已正确启用并且 SPN 是否适合您的实例。- SQL 网络接口库无法注册 SPN - SQL Server 2008 连接问题:无法生成 SSPI 上下文
测试 8:从服务器端检查以下服务是否已启动 - TCP/IP NetBIOS Helper - 远程注册表 - RPC 服务
测试 5是我唯一没有完成的测试,因为我不在域内工作。这些都是本地帐户。我的问题是,还有什么可能导致这个问题?远程调试需要域吗???
我对远程调试一无所知,但您可以在不同域或无域的两台计算机之间使用 Windows 身份验证,前提是它们具有相同的用户帐户和相同的密码。
还有一个问题。当您从客户端计算机连接到 SQL Server 实例时,您使用的是 IP 地址还是实例名称?我不确定这是否属实,但每当我使用 Windows 身份验证连接到 SQL Server 时,我都会使用实例名称。如果由于它们位于两个不同的网络而无法做到这一点,那么您必须在 SQL Server 配置管理器中的客户端计算机上设置别名,以将 IP 地址与远程 SQL Server 关联起来。
- 编辑
在阅读微软论坛上的类似文章后,我有了一些额外的想法
http://social.msdn.microsoft.com/forums/en-US/sqlnetfx/thread/840841cc-ae4a-45fc-b1ab-0708dc4403c0/
两台计算机之间是否有外部防火墙?从客户端,您可以从命令行对每个端口执行 telnet
IE 在 dos cmd 提示符下键入
telnet 服务器 IP 地址 139
telnet 服务器 IP 地址 445
您用于连接到服务器实例的用户是否具有 sysadmin 角色?可以本地调试吗?
| 归档时间: |
|
| 查看次数: |
10733 次 |
| 最近记录: |