SQL Server Profiler突然说加密文本

问题描述:

最近我注意到我们试图配置文件的存储过程未能出现在性能分析输出中。SQL Server Profiler突然说加密文本

在加入后SP:StmtStarting和SP:StmtCompleted事件,我注意到的TextData报道

-- Encrypted text 

..但存储过程是不加密的。

这只是最近才开始发生的事情 - 我们过去常常将这个SP完美地描述出来,而且我无法弄清楚发生了什么变化。

任何建议将受到感谢。

更新:SP绝对不加密。我在盒子上创建了新的SP,并且我看到SP:BatchStarting事件和新SP的名称。对于旧的SP,我没有看到BatchStarting事件,但我看到SP执行中的语句。

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

+1

你如何验证“存储过程是不加密的”? – 2013-04-05 18:21:35

+0

查看SP的属性并确保Encyrpted = False – n4cer500 2013-04-05 19:58:18

所以我的情况下,想通了这一点任何人发现它是有用的。

我有这个存储过程的表类型参数。其中一个参数传递了大量数据(即一个具有> 5000行的C#DataTable)。如果没有这个数量的数据,存储的proc分布很好。

我猜一定是有截止此时探查器不显示所有数据的传递英寸

+0

是的,我在使用表格类型时看到了相同的行为。我认为这里的“加密文本”并不意味着加密,而是压缩。 – DotNetDeveloper 2013-08-07 14:25:36

有人已经改变了存储过程,并且增加了“WITH ENCRYPTION”的提示,这将导致此行为。修改存储过程并删除该提示,然后再开始看到proc的文本。

另外需要注意,如果你没有原始代码,你将无法解密PROC发出ALTER语句的文字,所以希望你有得心应手。

下面是这个选项的下一个体面的运行:Options for hiding SQL Server code

+1

另一种可能性 - 取决于SQL Server的版本 - 是该过程的文本已更改为包含“sp_password”,它用于自动导致跟踪混淆文本。 – 2013-04-05 18:29:13

+0

@Jason - SP未加密。 – n4cer500 2013-04-05 20:05:26