查看从动态 sql 执行的 sql
View executed sql from dynamic sql
我继承了一个使用大量动态 SQL 的复杂应用程序。许多存储过程根据输入参数构造和执行截然不同的 SQL 语句。有没有一种方法可以在不使用 SQL 分析器的情况下查看已执行的 SQL - 最好是在 SQL Server Manager Studio 中?
我通过创建一个名为 'WhatHappened' 的 table 以 AutoInc BigInt 作为主键和一个大的 varchar(8000) 字段来保存动态创建的SQL命令,然后简单的把动态创建的SQL写到table里面,后面用Enterprise Manager看。我不知道这是否是一个很好的解决方案,但它快速、简单并且有效。
您可以使用 PRINT 语句
实验
IF @@OPTIONS & 512 <> 0
PRINT N'This user has SET NOCOUNT turned ON.';
ELSE
PRINT N'This user has SET NOCOUNT turned OFF.';
GO
像
一样使用
PRINT @YourDynamicSQLStatement
我继承了一个使用大量动态 SQL 的复杂应用程序。许多存储过程根据输入参数构造和执行截然不同的 SQL 语句。有没有一种方法可以在不使用 SQL 分析器的情况下查看已执行的 SQL - 最好是在 SQL Server Manager Studio 中?
我通过创建一个名为 'WhatHappened' 的 table 以 AutoInc BigInt 作为主键和一个大的 varchar(8000) 字段来保存动态创建的SQL命令,然后简单的把动态创建的SQL写到table里面,后面用Enterprise Manager看。我不知道这是否是一个很好的解决方案,但它快速、简单并且有效。
您可以使用 PRINT 语句
实验
IF @@OPTIONS & 512 <> 0
PRINT N'This user has SET NOCOUNT turned ON.';
ELSE
PRINT N'This user has SET NOCOUNT turned OFF.';
GO
像
一样使用PRINT @YourDynamicSQLStatement