【问题标题】:Unable to start the Transact-SQL debugger, could not connect to the database engine instance无法启动 Transact-SQL 调试器,无法连接到数据库引擎实例
【发布时间】:2014-06-30 13:16:32
【问题描述】:

我一直在尝试在 SQl 服务器管理工​​作室中运行调试,但由于某种原因,调试器刚刚停止工作。

这是我收到的消息:

无法启动 Transact-SQL 调试器,无法连接到 数据库引擎实例'server-sql'。确保您已启用 调试防火墙异常并使用会员登录 sysadmin 固定服务器角色。 RPC 服务器不可用。

在此之前,我收到两条消息,一条请求防火墙权限,另一条说“使用”,其中包含一些毫无意义的文字。

我已经查看了那里的其他类似答案以获取相同的消息,该消息建议将登录名添加为系统管理员,但已设置。我也尝试将系统管理员添加到另一个帐户,但也没有用。

【问题讨论】:

  • 这里有一个检查清单:bit.ly/1pPyQqO
  • 好的,答案就在里面。看来我需要以管理员身份运行。
  • 您是否正在尝试调试本地 SQL 实例?在我的情况下,我使用 IP 127.0.0.1 而不是像 (local) 这样的命名实例,它可以工作。
  • 它对我有用,当我以“管理员”身份启动 Studio 并连接到“Windows 身份验证”而不是“sa”时

标签: sql tsql debugging


【解决方案1】:

最后我可以通过右键单击并选择以管理员身份运行来启动它。

【讨论】:

  • @cahitbeyaz 我也没有。唯一可行的方法是在数据库所在的服务器上进行本地调试。
【解决方案2】:

我在使用 SQL Server Authenticated 用户连接到 SQL 时遇到了这个问题。一旦我尝试使用 Windows Authenticated 用户,我就可以毫无问题地进行调试。还必须为该用户分配 sysadmin 角色。

【讨论】:

  • 这也解决了我的问题。我作为 SQL Server 用户(具有 sysadmin 角色)通过 SSMS(以管理员身份运行)进行连接,我得到了与上面的 OP 相同的错误。根据 jRosenholm 的回答,我在同一台服务器上创建了一个具有 sysadmin 角色的 Windows AD 用户,并以管理员身份运行 SSMS 的用户重新连接,并且调试器启动时没有错误。
【解决方案3】:

这发生在我身上,我无法在任何地方找到解决方案。我的防火墙已禁用,所以我知道这不是问题。

根据Microsoft: Configure firewall rules before running the TSQL Debugger

服务器需要通过 RPC 与客户端通信。这 运行 SQL Server 服务的帐户应具有 向客户端验证权限。

我们有一个防止这种情况发生的组策略:

拒绝从网络访问此计算机(本地帐户、访客)

为了解决此问题,我必须将 SQL Server 服务帐户添加到我桌面上的本地组“远程桌面用户”。希望这可以帮助其他人解决这个令人沮丧的问题。

【讨论】:

    【解决方案4】:

    我尝试了以下步骤,但没有成功(可能是因为我在办公室的 PC 上并且无法控制防火墙)。但您可以尝试以下方法。

    1. 检查用户角色:

      IF IS_SRVROLEMEMBER ('sysadmin') = 1
      print 'Current user''s login is a member of the sysadmin role'
      
    2. 按照以下说明进行操作: configure the transact-SQL Debugger

    3. 运行 SQL Server Management Standard Edition 64 位(使用 SQL Server 帐户)

    【讨论】:

      【解决方案5】:

      就我而言,我收到了以下错误消息:

      无法启动 Transact-SQL 调试器,无法连接到“本地”计算机。

      我最终关闭了现有连接,然后使用 IP 127.0.0.1 重新连接到我的本地 SQL 服务器,它就可以工作了。

      【讨论】:

        【解决方案6】:

        帮助我的,来自here

        SQL Server Management Studio 必须在属于 sysadmin 固定服务器组成员的 Windows 帐户下运行。

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

        所以,我已将 sysadmin 角色添加到我的 windows 帐户并以管理员身份运行 ssms。调试器开始正常工作。

        【讨论】:

          【解决方案7】:

          除了上述工作之外,使我们的 2 台计算机能够远程调试的,正在运行:(右键单击 Window 的“开始”按钮)

          系统-->高级系统属性-->计算机名-->点击网络ID...按钮

          并运行该向导以在两台计算机上加入工作组。
          我通过查看我的 Windows 事件查看器并寻找与工作组和计算机名称有关的 NetBT 源错误的解决方案找到了此解决方案。
          更新:几天后,它再次停止工作。

          【讨论】:

            【解决方案8】:

            我遇到了同样的问题,并仔细检查了所有推荐的设置。在某些时候,我禁用了数据库服务器上的防火墙,它就像一个魅力。通过启用并检查防火墙日志,我注意到了这个条目:

            2019-10-31 16:07:50 DROP TCP 192.168.xxx.xxx 192.168.xxx.xxx 65231 61214 52 S 56576751 0 8192 - - - RECEIVE

            当我允许 TCP 端口 61214(入站规则)并重新打开防火墙时,它起作用了。我不知道为什么需要这个端口,也许这里有一些?

            不管怎样,也许防火墙日志也能有所帮助。

            【讨论】:

              【解决方案9】:

              挣扎了好几个小时,终于找到了答案 您可以通过此文档进行配置 https://docs.microsoft.com/en-us/sql/ssms/scripting/configure-firewall-rules-before-running-the-tsql-debugger?view=sql-server-ver15 (1)需要在安装Sql server的远程服务器上进行2个设置 (2) 客户端计算机(即我们的计算机)上的 1 个设置

              【讨论】:

                猜你喜欢
                • 1970-01-01
                • 1970-01-01
                • 2023-03-19
                • 1970-01-01
                • 2020-05-18
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 2019-07-05
                相关资源
                最近更新 更多