从动态sql查看执行的sql

时间:2015-03-19 11:58:13

标签: sql-server sql-server-2005 ssms dynamic-sql

我继承了一个使用大量动态SQL的复杂应用程序。许多存储过程根据输入参数构造和执行显着不同的SQL语句。有没有一种方法可以在不使用SQL分析器的情况下看到执行的SQL - 理想情况下是在SQL Server Manager Studio中?

2 个答案:

答案 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

REF。 https://msdn.microsoft.com/en-IN/library/ms176047.aspx