对执行缓慢的加密存储过程进行故障排除

SEa*_*986 3 sql-server stored-procedures encryption troubleshooting sql-server-2014

我有一个存储过程,它是供应商提供的系统的一部分。存储过程是加密的,所以我们看不到代码。

存储过程突然开始运行缓慢。

我想看看做的第一件事是看执行计划,试图找出是,然而,似乎问题出在哪里不是要显示该计划的方式(sp_Whoisactive就是NULL在query_plan场)

我也可能会尝试更新统计信息,但我无法查看存储过程使用的表。

查询的等待统计信息没有显示任何明显的信息

在没有未加密版本的情况下,是否真的可以对此查询进行任何类型的故障排除?

Han*_*non 5

尽管你的问题是关于如何解决解密存储过程,我会建议你decyrpt的存储过程,用户可以根据需要,无需猜测发生了什么事做故障排除。

“加密”,在SQL Server存储过程实际上是不加密的AT ALL。它们只是使用一种非常简单的方法进行混淆。这意味着您可以非常轻松地对它们进行反混淆并查看源代码。话虽如此,您可能会违反供应商软件中包含的最终用户许可协议的条款。

使用在这个问题中找到的关于如何去混淆“加密”存储过程的详细信息。

如果 EULA 禁止解密存储的 proc,最好的做法是联系供应商让他们进行性能故障排除。你确实有维护合同,对吧?