为什么我的断点没有命中 SQL In Visual Studio 2019 来自网络服务器的调试脚本

Why aren't my breakpoints hitting SQL In Visual Studio 2019 debugging script from network server

所以我很不幸在使用 SSMS18 的组织中工作,这意味着我没有 SSMS 的内置调试器。我不得不使用 VS2019 Professional 来设置断点并单步执行存储过程。没有大人物,对吧?

好吧,当我 select "Execute with Debugger"(由于某种原因在 GIF 中看不到 selection)它加载然后执行并且永远不会到达我的断点。

我按照以下这些帖子无济于事。
这个我找不到他在第 6 步中描述的内容,但我之前在 VS2019 中调试了一个 SQL-Query,但那是一个本地实例,而不是像本例中那样的远程服务器。


Cannot execute breakpoint inside stored procedure from VS 2017

下面是动态图

非常感谢任何帮助。

Why aren't my breakpoints hitting SQL In Visual Studio 2019 debugging script from network server

根据您的问题,您可以尝试按照我的步骤操作:

一个

1) 在SQL Server Explorer 中连接数据库,确保可以成功访问数据。

2) 右键单击​​ selected 过程并选择 Execute Procedure 选项。然后它将打开一个新查询 window,您可以在其中执行存储过程,如下所示。

一个简单的方法是你可以直接选择Debug Procedure,它会直接调试你的程序,你不应该按照下面的步骤。

3) 在查询文件中设置新的断点select Execute with Debugger.由于无法打开绿色箭头的下拉框,你可以select顶部的菜单SQL-->Execute with Debugger来调试你的程序。

此外,请记住在调试之前select正确的数据库,这样您就不会运行针对其他数据库调试语句。

注意:如果您的存储过程需要参数作为输入,Visual Studio 将提示您在打开新查询之前输入值 window。

更多信息可以参考this

两个

1) 右击Solution Explorer-->Add--> Script-->Script(Not in Build).

中的Project

2) 向 select 您的程序编写自定义查询,例如 exec dbo.Users_GetUserInfo,然后选择 SQL-->Execute with Debugger

希望对您有所帮助。

下载并安装低于版本 18 的 SSMS。然后您就可以调试了。

我的数据库在另一个系统上,我想使用 visual studio 2019 进行远程调试。设置与数据库的连接有效,但调试存储过程不起作用。我收到一个消息框,指示“无法启动 Transact-SQL 调试器,无法连接到数据库引擎实例 'servername\instancename'。确保您已启用调试防火墙例外,并且使用的登录名是 sysadmin 固定服务器角色的成员。单击帮助以获取更多信息。 我正在使用的用户具有系统管理员角色,使用 'SELECT IS_SRVROLEMEMBER('sysadmin', 'YourLogin') 命令对其进行了检查。我在远程机器上禁用了防火墙。我在本地启用了端口 1433、1434 和 135。不幸的是,这并不能解决问题。

我遇到了同样的问题,然后记得在安装 SQLServer 2019 时阅读过调试防火墙端口。

对于 SS 2014,我没有收到任何错误消息,但是当我尝试使用 SS2019 进行调试时,它说可能有防火墙阻止。

https://docs.microsoft.com/en-us/previous-versions/visualstudio/visual-studio-2010/s0fk6z6e(v=vs.100)