线上项目运行过程中,通常会有些 bug,是直接修改数据库的存储过程就可以解决,类似这种情况,实际工作中会在真实环境执行存储过程之前,进行存储过程的测试,用到的方法如下:

环境

VS2013+SQL Server2012

数据库中存在存储过程(简单例子):


-===========================================================================
    --- Author:     shilinjie
    -- ALTER date:  20170313
    -- Descaption:  该存储过程用于通过id获取详情
    -- ===========================================================================
    ALTER proc [dbo].[getdetailbyid]
        @ID int
    AS
    BEGIN

        select * from tb_A where pid=@ID

    END
    --EXEC [getdetailbyid] '1'

测试步骤

打开 VS2013,打开 SQL Server 对象资源管理器,如下图:

添加 SQL Server:

填写连接数据库的用户名密码:

找到需要测试的存储过程,右键选择调试:

此时会弹出输入参数,本例中的存储过程只有一个参数 id:

之后会进入调试状态,F11 进行单步调试即可,鼠标指向参数,查看传入参数的值:

执行之后,会显示结果和返回值:

这只是个简单例子,测试过程中需要针对每个传入参数进行测试,如果存储过程中有分支,每个分支也都需要测试

可能遇到的问题

问题:在启动 sql server 中,启动调试时报错:无法启动 transact-sql 调试器

解决方法:
将 Windows 登录帐户添加为 sysadmin,在 sql server 中执行:

exec sp_addsrvrolemember 'PC-name\Administrator', 'sysadmin'


↙↙↙阅读原文可查看相关链接,并与作者交流