sqlserver存储过程怎么调试
SQL Server存储过程相信大家都接触过,下面就教您如何实现SQL Server存储过程的单步调试,希望可以让您对SQL Server存储过程有更深的认识。 1)调试 在SQL Server的SQL Query Analyzer(查询分析器)中,打开Object Brower(F8),在左边的列表中选择一数据库,展开Stored Procedures,然后选择要调试的存储过程(或任意一个存储过程),按右键,点击“Debug”,则弹出Debug Procedure对话框,显示该存储过程的参数(可在Procedures列表中选择其他要调试的存储过程),为参数输入初始值,点击“Execute”按钮,进入Debug窗口;可使用上面一排按钮或其对应的快捷键对该存储过程进行“执行”“设断点”“取消断点”“单步跟踪”等操作;窗口下方是参数列表,第一个是自定义参数变量列表,在Debug的过程中显示全局变量和局部变量的值的变化,可对参数列表中该存储过程的参数初值进行修改,再重新调试;第二个列表是系统变量,可自行增加,如添加“@@Error”“@@RowCount”,观看其值的变化,其值不能手工修改。第三个列表是CallStack,暂时不知道怎么用。在参数列表中,不能直接把User_Name()、GetDate()等函数直接放到参数列表中跟踪,要把它们赋值予自定义变量进行查看。 大家可连接Pivot的SQL Server进行尝试,使用本机DB系统如果不行,则需要用Administrator登录本机,然后在企业管理器中,在本机的SQL Server Registration上点击右键,点“属性”,选择“Security”,选择“This account”,输入Administrator和密码,确定之。 2)SQL Server存储过程单步调试 具体步骤如下: 1、将服务器【身份验证】属性设置成【混合模式】(window与sql身份验证) 2、在【控制面板】中打开【服务】将【MSSQLSERVER】服务打开【属性】,选择【登录】页面,将登录身份设置成服务器本地帐号和该帐号密码,如administrator,密码123; 3、重新启动sqlserver服务,此时的服务指的是【SQL服务管理器】中的SQL SERVER服务; 假设【帐号】设置为administrator 此时达到的效果是:服务器本地帐号administrator与客户端上的administrator(并且该帐号的密码要与服务器密码相同)可以通过【查询分析器】进行调试; 如果想让【其他帐号】也能够调试,那么还需要如下设置: 1、在【服务器】上运行dcomcnfg.exe; 2、在【默认安全机制】中【默认访问权限】右边点击【编辑默认值】选择允许调试的帐号类型,如users用户类型,sample帐号有包含users组; 3、重新启动sqlserver服务; 3、在客户端上创建与服务帐号密码一样的用户,如sample; 做到这步就可以通过查询分析器的调试功能进行单步调试了
sql server怎么调试存储过程
与其他编程语言中的调试一样,您可以在调试 Transact-SQL 脚本的同时查看和修改局部变量和参数、查看全局变量以及控制和管理断点。本示例说明如何通过单步执行创建和调试 Transact-SQL 存储过程。 警告: 以下过程将使用在连接的数据库开发和面向项目的脱机数据库开发这两节中的过程中创建的实体。 调试存储过程在“解决方案资源管理器”中,右键单击 TradeDev 项目,选择“添加”,然后选择“存储过程”。将这个新的存储过程命名为 AddProduct,然后单击“添加”。将以下代码粘贴到该存储过程中。 CREATE PROCEDURE [dbo].[AddProduct] @id int, @name nvarchar(128) AS INSERT INTO [dbo].[Product] (Id, Name) VALUES (@id, @name) 按F5 生成和部署该项目。在SQL Server 对象资源管理器的“本地”节点下,右键单击 TradeDev 数据库,然后选择“新建查询”。将下面的代码粘贴到查询窗口中。 EXEC [dbo].[AddProduct] 50, N'Contoso'; GO 单击左窗口边距以便向 EXEC 语句添加断点。按下Transact-SQL 编辑器工具栏中的绿色箭头按钮上的下拉箭头,然后选择“使用调试器执行”,以便使用调试执行查询。或者,也可以从SQL Server 对象资源管理器启动调试功能。右键单击 AddProduct 存储过程(位于 Local -> TradeDev database -> Programmability -> Stored Procedures 下)。选择“调试过程...”。如果对象需要参数,则会出现“调试过程”对话框,显示一个包含各个参数行的表。表中的每一行都包含参数名称列和参数值列。输入各个参数的值,再单击“确定”。请确保“本地”窗口打开。如果未打开,则单击“调试”菜单,选择“窗口”和“本地”。按F11 键逐行执行该查询。请注意,存储过程参数和它们各自的值将显示在“本地”窗口中。或者,将鼠标指针悬停在 INSERT 子句中的 @name 参数上方,您将看到要传递给它的 Contoso 值。在文本框中单击 Contoso。键入 Fabrikam,然后按下 ENTER 以便在调试时更改 name 变量的值。还可以在“本地”窗口中更改其值。请注意,该参数的值现在显示为红色,表示它已经更改。按F10 键逐行执行其余代码。在SQL Server 对象资源管理器中,刷新 TradeDev 数据库节点以查看 Product 表的数据视图中的新内容。在SQL Server 对象资源管理器中的“本地”节点下,找到 TradeDev 数据库的 Product 表。右键单击 Product 表,然后选择“查看数据”。请注意,新行已添加到该数据库中。
sqlserver2012 怎么调试存储过程
最近在做vb项目的时候,用到了存储过程的调试,现在总结一下发现单步调试存储过程有以下2种方法: 1.这种方法自己已经做过,是可以的,如下: a.如果目标数据库存在存储过程,右击该存储过程-修改,打开存储过程,并在需要的地方设置断点。(如果没有自定义存储过程,则需要在Sql Server 2012数据库中创建存储过程,完成后在里面设置断点); b.另外开启一个新建查询窗口,写入调用代码:例如 exec BillManageInputProc '主单1','0111111','0111112','121','legend','2014-09-24','001','2014-09-24','1','市场部','0' ,单击 调试按钮 启动存储过程的调试; c.单击 F 11 进行逐句调试。 2.在vs2010调试存储过程步骤如下: 首先,打开vs,点击 视图-->服务器资源管理器
如何在SQL Server 2008下轻松调试T-SQL语句和存储过程
今天突然有同事问起,如何在sqlserver中调试存储过程(我们公司使用的是sqlserver 2008 R2),猛地一看,和以前使用sqlserver 2000真的有很大的不同,我真晕了。 于是琢磨了一下。SQLSERVER 2005中不知因何去掉了很重要的DEBUGGER功能,要调试,必须要安装VS2005专业版或者更高版本。非常不方便。 还好,SQLSERVER 2008中这个很重要而且方便的功能又回来了。 不过,SQLSERVER 2008的调试功能和SQL2000的方法差别很大。SQL2000是在查询分析器中的对象浏览器中选中需要调试的存储过程,右键----调试---输入参数开始调试。 sqlserver2008中则完全不同,变成了必须要在SSMS中EXEC [PROCEDURE NAME] @VAR1,@VAR2,然后点绿色三角或者点菜单中的调试---启动调试。然后点工具栏的最右边的单步调试或者跳出等。下面的变量窗口和堆栈窗口等可以查看调试中变量等动态变化值。 sqlserver2008调试的要求和条件:如果在引擎所在的电脑或服务器上调试,则只需要SA或者WINDOWS用户登陆即可。如果是异地调试,则需要设置防火墙例外,增加SSMS和SQLSERVER.EXE为允许,增加135端口允许通过。 总之,SQL2008的调试比2000操作起来麻烦多了,要求也多了。刚开始感觉不如2000的好用,也可能是使用2000习惯了。习惯是可怕的,但是微软是在不断进步的...
sqlserver2012怎样调试存储过程
最近在做vb项目的时候,用到了存储过程的调试,现在总结一下发现单步调试存储过程有以下2种方法: 1.这种方法自己已经做过,是可以的,如下: a.如果目标数据库存在存储过程,右击该存储过程-修改,打开存储过程,并在需要的地方设置断点。(如果没有自定义存储过程,则需要在Sql Server 2012数据库中创建存储过程,完成后在里面设置断点); b.另外开启一个新建查询窗口,写入调用代码:例如 exec BillManageInputProc '主单1','0111111','0111112','121','legend','2014-09-24','001','2014-09-24','1','市场部','0' ,单击 调试按钮 启动存储过程的调试; c.单击 F 11 进行逐句调试。 2.在vs2010调试存储过程步骤如下: 首先,打开vs,点击 视图-->服务器资源管理器 http://www.cnblogs.com/caishiquan/p/4050237.html