您好 我有一个很长的存储过程,用于在我的asp.net(c#)应用程序和另一个控制台应用程序(c#)中填充GridView。每次我在管理工作室运行这个sp它工作正常。有些日子,这个sp停止向应用程序返回值(但同时从管理工作室执行时工作正常)。为什么或如何发生这种情况? (我正在使用ms sql 2005并赢得服务器2003) 感谢
答案 0 :(得分:0)
你没有提供太多详细信息,但我猜你会遇到超时错误并且你有一个参数嗅探问题(在SSMS中运行良好但在应用程序中没有运行通常对此有所贡献。)
下次出现问题时,它无法在您的应用程序中运行,但在SSMS中正常工作时,请使用以下查询来检索两个计划并进行比较。
Use YourDatabase;
SELECT *
FROM sys.dm_exec_cached_plans
CROSS APPLY sys.dm_exec_sql_text(plan_handle)
CROSS APPLY sys.dm_exec_query_plan(plan_handle)
cross APPLY sys.dm_exec_plan_attributes(plan_handle) AS epa
where sys.dm_exec_sql_text.objectid=object_id('YourProcName')
and attribute='set_options'