介绍
我们可以很容易地使用从调试菜单调试调试我们的.NET应用程序,.NET应用程序有一个用来存储调试定位和调试配置的增量链接自己的.PDB(程序调试数据库)文件。这一切都关于.NET,但我们可以调试我们的存储过程?答案是肯定的,我们可以调试存储过程。让我们来看看如何做到这一点。
背景
存储过程是人气很足,因为它们的功能,如增强的安全性,分离是在数据的功能和应用,提高了性能成为可能(如数据库做更少的调用),基本上它是一个时间和一个地方处理的主题。SP(存储过程)现在是在DBA和开发者人群中比较受欢迎,但是经过编写大型SP公司,如何调试呢?如何,如果他们正常运行测试。
因此,这里是调试存储的过程,让我们来看看我们需要调试它的需要。
一点点地
1.第一步是创建一个存储过程(已经创建的,那么你可以跳过这一步,如果你的存储过程),我在这里创建一个简单的存储过程,从EMP表中特定的ID选择记录,见下文扣
2.存储过程创建成功后,我们已经准备好调试。基本上有两种方法来调试存储过程
- 使用SQL管理工作室(SSMS)
- 使用Visual Studio
将看到如何调试它使用SQL Management Studio中 (我使用SQL 2008R2快递)
- 打开SQL 2008 R2
- 点击ViewMenu - >对象资源管理器
- 点击连接数据库引擎 - >为SQL数据库输入用户名和密码 - >连接到数据库中,见下文片段
- 展开数据库 - >选择可编程文件夹 - >存储过程(你会看到你的程序在这里)
- 右键打开新的查询窗口点击数据库,并单击“新建查询”
- 写声明“Exec的PROCEDURENAME”(在我的情况下,其程序名称是'sp_empInfo')
- 把调试器使用键F9该行
- 从SQL选择绿色箭头(调试)和调试器得到启动,按F11介入,程序
- 您可以在“本地”和“调用栈”窗口输出
调试它使用Visual Studio
同样的方式,你可以使用Visual Studio调试存储过程
- 转到Visual Studio和连接数据库。请按照以下步骤
- 打开Visual Studio编辑器
- 点击ViewMenu - > SQL Server对象资源管理器(VS 2012之前,它是服务器资源管理器)
- 在SQL Server对象资源管理器窗格中右键单击数据连接
- 选择Add Connection
- 输入凭据(如SQL实例,SQL服务器的用户名,密码,数据库名)
- 右键单击数据库,并允许'应用程序调试“和”允许SQL / CLR调试“,见下扣
- 展开数据库 - >选择可编程文件夹 - >存储过程
- 右键单击程序 - >选择“调试程序”
你可以从现在开始调试。
例外
访问权限,而调试存储过程中最大的问题,
常见错误信息
下面是调试存储过程中出现的常见错误信息
- 无法启动Transact-SQL调试,无法连接到数据库引擎实例...
- 无法启动T-SQL调试,无法连接到计算机...
- 登录失败:未知的用户名或密码错误?
- 无法启动调试器,执行权限是...
- 无法连接到SQL Server进程的...
看到一些异常/错误下面卡扣
当你试图调试远程存储过程发生下列异常
常用穴位,以避免错误,调试
要解决上述错误,你可以尝试以下解决方法
- 如果您在本地SQL服务器上调试存储过程,那么你的本地SQL的用户应该在“ 系统管理员 ”的角色,添加用户在sysadmin角色,下面的存储过程运行(这是内置),见下面的语法
-
隐藏 复制代码
sp_addsrvrolemember '<Login>', 'sysadmin'
- 配置TCP端口在Windows防火墙,使T-SQL调试,详见MSDN链接
- 配置TCP端口在Windows防火墙中启用远程T-SQL调试(当SQL Server是不同的,希望从客户机调试的话)看到MSDN链接在这两种情况下,对于远程调试,你可以使用Windows本地或域帐户认证
- 双方的SQLserver机器上打开防火墙端口以及客户端的端口:TCP 139,TCP 445,UDP 137和UDP 138
- SQL管理工作室应该与共进午餐“运行管理员......”
- 管理工作室(客户机)和服务器(SQL)应该在同一个域中,否则你需要设置帐户相同的用户名和密码
我们学到了什么!
我们可以通过使用Visual Studio或使用SSMS(SQL Management Studio中),我们可以使用局部变量,调用堆栈窗口为调试存储过程。您可以为存储过程的参数提供(如果有的话),并在其上获得即时调试器。
希望这将是在日常的.NET / SQL的生活非常有用。