线上项目运行过程中,通常会有些 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'