sql-server - 相当于 SQL Server 的 Debug.Assert

标签 sql-server sql-server-2005 debugging

我正在调整大量的 SQL Server 2005 脚本来将我们的两个数据库合并在一起。这些脚本从 .cmd 文件运行,该文件调用 sqlcmd 按顺序运行脚本。但是,我遇到了一两个脚本失败的问题。

我想要一种快速的方法来查看一些出错的脚本的状态 - 检查变量值、一些查询的结果,诸如此类。

如果我在 .NET 程序集上遇到此问题,我会使用 Debug.Assert 来扩充代码,或者在我知道会发生故障的地方设置断点,这将暂停程序执行并允许我检查变量值.

我想知道 SQL Server 2005 中是否有类似的功能?

最佳答案

我从未设法使集成调试与 SQL Server 配合良好 - 我通常使用“printf”调试,使用 PRINTRAISERROR声明。 RAISERROR 可以进行一些基本的参数格式化,将值吐出到消息窗口。例如。如果你有一个int类型的参数@Val1,你可以这样做:

RAISERROR('Val1 = %i',10,1,@Val1) WITH NOWAIT

(WITH NOWAIT 选项导致消息立即显示,而不是缓冲消息/输出的常见 SQL 行为)

关于sql-server - 相当于 SQL Server 的 Debug.Assert,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3201287/

相关文章:

c# - Visual Studio 2015,Resharper 在调试单元测试时卡住

c - GDB 跳过行为

sql-server - 如何使用 SQL Server 中另一列的数据更新一列?

sql - 具有大量子句的 SQL 'LIKE' 语句的效率

sql-server - Node 使用 Azure MS SQL 数据库从路由写入和读取数据

sql-server-2005 - SQL查询以在范围之间的给定步骤中获取数字

sql - 使用 exec() 在 sp 内执行运行时查询时遇到错误 "The default schema does not exist."

visual-studio-2010 - IntelliTrace 和 ADO.NET 参数值

sql - 如何将一行扩展为多行结果集?

c# - 并行线程中的多个 dbcontext,EntityException "Rerun your statement when there are fewer active users"