Pau*_*aul 2 c# t-sql stored-procedures sql-server-2005
我在T-SQL中有一个简单的存储过程,从SQL Server Management Studio运行时是即时的,并且有一个简单的执行计划.它用在C#网络前端,通常很快,但偶尔似乎会让自己陷入一种状态,它会在那里停留并超时.然后它从任何Web服务器始终如一地执行此操作.修复它的唯一方法就是删除并重新创建它.它只发生在应用程序中使用的几百个类似过程中的单个存储过程中.
我正在寻找一个答案,它比每隔n分钟测试一次服务并在超时时删除并重新创建更好.
正如其他回复所指出的,原因可能很多,从执行计划到实际的SP代码,再到其他任何东西.然而,在我过去的经历中,由于"参数嗅探",我遇到了类似的问题.谷歌为它,看看,它可能会有所帮助.基本上,您应该在SP中使用局部变量而不是传入的参数.