SQL Server中的存储过程奇怪错误

时间:2019-07-14 17:25:12

标签: sql-server sql-server-2016

在SQL Server 2016中,从我的.Net应用程序执行存储过程时会引发错误。当我们在数据库中使用相同的输入参数执行相同的存储过程时,就不会出现错误。

在不更改任何逻辑的情况下更改了存储过程之后,它将再次正常开始工作一段时间。我们经常会遇到这个问题。

是否有永久解决此问题的建议?

1 个答案:

答案 0 :(得分:0)

我们碰到了同样的事情。从数据库运行时,存储的proc在db中运行良好,但是永久或超时。 最后,它归结为参数嗅探和缓存中的错误计划。快速而肮脏的解决方法是使用“ with recompile”选项重新编译存储的proc。我们最终只是重新编写了proc。

无论如何,this article很好地解释了SQL Server如何使用参数嗅探,为什么直到不使用它才是好东西。

打猎愉快!