3

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

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

-- Encrypted text

..但存储过程未加密。

这只是最近才开始发生的——我们曾经完美地分析过这个 SP,但我不知道发生了什么变化。

任何建议将不胜感激。

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

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

4

3 回答 3

3

所以我想出了这一点,以防有人发现它有用。

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

我想必须有一些截止点,Profiler 没有显示所有传入的数据。

于 2013-04-05T23:39:51.500 回答
0

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

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

这是此选项的一个不错的选择:隐藏 SQL Server 代码的选项

于 2013-04-05T18:17:22.520 回答
0

将跟踪属性从默认值移动OnlySP(<your database here>)(user,default)TSQLTSQL_Replay显示为我使用的 SQL,... 转到File|Properties...并更改 [使用模板:] 下拉组合框。SQL Server Profiler|跟踪属性对话框

于 2018-06-19T20:32:35.243 回答