SQL Server Management Studio 调试

您所在的位置:网站首页 sqlserver调试触发器 SQL Server Management Studio 调试

SQL Server Management Studio 调试

#SQL Server Management Studio 调试| 来源: 网络整理| 查看: 265

调试器在任何开发平台中都扮演着重要的角色。调试器越强大,调试时间消耗越少。SQL Server 2012 带有强大的调试技术,可以减少您的时间和精力。但怎样进行调试呢?

首先安装 SQL Server Management Studio(SSMS),我们用一个示例来演示调试器功能。

USE AdventureWorks2014 GO DECLARE @BusinessEntityID INT DECLARE @PhoneNumberType VARCHAR(50) DECLARE @FirstName VARCHAR(50) DECLARE @SalesQuota NUMERIC(18,2) DECLARE Database_Cursor CURSOR FOR Select top 5 BusinessEntityID,FirstName,SalesQuota,PhoneNumberType from [Sales].[vSalesPerson] OPEN Database_Cursor FETCH NEXT FROM Database_Cursor INTO @BusinessEntityID, @FirstName, @SalesQuota,@PhoneNumberType WHILE @@FETCH_STATUS = 0 BEGIN PRINT CONCAT(@BusinessEntityID,' ', @FirstName,' ' ,@SalesQuota,' ',@PhoneNumberType) FETCH NEXT FROM Database_Cursor INTO @BusinessEntityID, @FirstName, @SalesQuota,@PhoneNumberType END CLOSE Database_Cursor DEALLOCATE Database_Cursor GO

图片

1. 启用调试器:

在继续使用这些功能之前,让我告诉您如何运行调试器。 在SSMS窗口中,选择调试菜单并选择开始调试或按(Alt + F5)或直接点击调试按钮,如图所示。

图片

2. 设置断点:

在某行SQL前的空白处点击,出现圆圈且行被选中,则表示设置完成。或者按 F9 键,则光标所在行被选中为断点行。取消选中,再重复一次即可。

图片

3. 运行调试:

在调试模式下,当设置断点后,点击上方绿色箭头(继续)按钮或按(Alt + F5)运行下一步。底部将显示当前断点行的变量值,如图所示。

图片

当再次点击按钮继续时,下一次操作到此断点再次暂停,变量则显示第二行值。如此反复,我们可以确定该脚本运行时,其中的某些变量是否正常、是否有异常值导致脚本运行出错。

4. 条件断点调试:

在调试的时候,若是类似这种遍历查询,将执行太久,我们是否可以设置条件,让某个值出现的时候才中止?这是可以实现的。设置断点后,我们右键断点行,选中条件选项。

图片

我们可以设置,当遍历 @PhoneNumberType='Work' 时暂停,设置如下图。当继续执行后,只有当 @PhoneNumberType='Work'  时,变量值才显示。

图片

类似的,我们希望当 @PhoneNumberType='Work' 且在第2次出现时才中止,这里很简单,我们再增加一个命中次数的条件,命中次数设置为2。

图片

此外在调试窗口中,还可以逐行调试、逐个过程调试,更方便我们排查问题。这些调试概念对于开发人员再熟悉不过了,而 SQL Server 的 SQL 调试,大家似乎很少了解。我见过较多的开发同事、运维同事、甚至DBA,调试存储过程时,利用 多个 print 排查哪行 SQL 出现问题。这虽然也是个好方法,不过对于取数的异常,还得再继续操作数据。

不管黑猫白猫,抓到老鼠就是好猫。一种解决问题的方法也是好的。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3