Sql server SQL Server探查器突然显示加密文本

Sql server SQL Server探查器突然显示加密文本,sql-server,stored-procedures,profiler,Sql Server,Stored Procedures,Profiler,最近我注意到,我们试图分析的一个存储过程未能出现在分析输出中 在添加SP:StmtStarting和SP:StmtCompleted事件后,我注意到报告为 -- Encrypted text 。。但是存储过程没有加密 这只是最近才开始发生的事情——我们过去对这个SP的分析非常好,我不知道发生了什么变化 如有任何建议,我们将不胜感激 更新:SP绝对没有加密。我已在该框中创建了新SP,并看到SP:BatchStarting事件具有新SP的名称。对于旧SP,我看不到BatchStarting事件,但

最近我注意到,我们试图分析的一个存储过程未能出现在分析输出中

在添加SP:StmtStarting和SP:StmtCompleted事件后,我注意到报告为

-- Encrypted text
。。但是存储过程没有加密

这只是最近才开始发生的事情——我们过去对这个SP的分析非常好,我不知道发生了什么变化

如有任何建议,我们将不胜感激

更新:SP绝对没有加密。我已在该框中创建了新SP,并看到SP:BatchStarting事件具有新SP的名称。对于旧SP,我看不到BatchStarting事件,但看到SP中的语句正在执行


但是,我需要查看调用SP的参数的值,因为它们是表类型。最初,我可以看到在调用SP之前正在实例化和填充表类型。

有人更改了存储过程并添加了“WITH ENCRYPTION”提示,这将导致此行为。更改存储过程并删除该提示,您将再次看到该过程的文本

还要注意的是,如果您没有原始代码,您将无法解密proc的文本以发出ALTER语句,因此希望您可以方便地使用它


下面是这个选项的详细说明:

所以我想了一下,以防有人发现它有用

我有此存储过程的表类型参数。其中一个参数传递了大量数据(即,一个大于5000行的C#DataTable)。如果没有这一数量的数据,存储的进程将很好地进行分析


我想一定存在某种截止点,此时探查器不会显示传入的所有数据。

将跟踪属性从默认的
OnlySP()(用户,默认)
移动到
TSQL
TSQL\u Replay
显示了为我使用的SQL。。。转到
文件|属性…
并更改[使用模板]下拉组合框。

您如何验证“存储过程未加密”?查看SP的属性并确保Encyrpted=false另一种可能性(取决于SQL Server的版本)是过程的文本已更改为包含
SP_password
,这会自动导致跟踪混淆文本。@Jason-SP未加密。是,我在使用表类型时也看到了相同的行为。我认为这里的“加密文本”并不是真正的加密文本,而是压缩文本。不确定这篇文章之后是否有任何变化,但对于SQL Server 2019和SQL Profiler v18.6(至少在我的机器上),TSQL模板不会显示发送到SP的参数的文本数据。TSQL_Replay实现了这个技巧(包括添加到表类型参数的数据)。