如何查看执行动态SQL查询的脚本

How to view script of executed dynamic TSQL query

我刚才使用动态 SQL 和游标创建了一个存储过程。出于维护和调整目的,我开始认为标准 SQL 比必须调整光标更好。然而,为了评估这个选项,我真的不想经历重写所有这些逻辑。

有没有办法查看我的光标创建了哪些查询?我知道有 SQL Profiler(我用得很少),但是,在快速搜索后,我发现它只会显示“exec my_stored_procedure”而不是显示整个脚本。

有什么想法吗?

我的 SQL 服务器版本:Microsoft SQL Server 2017 (RTM-CU22) (KB4577467) - 14.0.3356.20 (X64) 2020 年 8 月 20 日 22:33:27 版权所有 (C) 2017 Windows Server 2019 Standard 10.0(内部版本 17763:)(管理程序)

上的 Microsoft Corporation Developer Edition(64 位)

谢谢

如果您的动态 SQL 在执行之前构建在一个变量中,您可以只使用 PRINT 语句来查看查询是什么,例如 PRINT @SQL。然后它会显示在您的消息中 window in SSMS.