【问题标题】:View executed sql from dynamic sql从动态sql查看执行的sql
【发布时间】:2015-05-22 12:45:11
【问题描述】:

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

【问题讨论】:

  • 在程序末尾添加PRINT @statement 并手动执行该程序。

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


【解决方案1】:

通过创建一个名为“WhatHappened”的表,以 AutoInc BigInt 作为主键,并使用一个大的 varchar(8000) 字段来保存动态创建的 SQL 命令,我或多或少地做了一些事情,然后干脆把动态创建的SQL写到表中,后面用企业管理器查看。我不知道这是否是一个很好的解决方案,但它快速、简单且有效。

【讨论】:

    【解决方案2】:

    可以使用 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
    

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

    【讨论】:

      猜你喜欢
      • 2021-07-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-02-07
      • 2012-05-03
      • 1970-01-01
      • 2014-04-08
      • 1970-01-01
      相关资源
      最近更新 更多