我继承了一个使用大量动态SQL的复杂应用程序。许多存储过程根据输入参数构造和执行显着不同的SQL语句。有没有一种方法可以在不使用SQL分析器的情况下看到执行的SQL - 理想情况下是在SQL Server Manager Studio中?
答案 0 :(得分:3)
我通过创建一个名为' WhatHappened'的表来做一些或多或少的事情。使用AutoInc BigInt作为主键,使用大型varchar(8000)字段来保存动态创建的SQL命令,然后简单地将动态创建的SQL写入表中,稍后使用Enterprise Manager查看它。我不知道它是否是一个很好的解决方案,但它快速而简单且有效。
答案 1 :(得分:1)
您可以使用PRINT语句
for exp。
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