ASP.NET页面上的MS SQL超时,但SSMS中没有

当在我们的一个ASP.NET页面上执行sproc时,它会在SQL Server上超时,并且Timeout已过期.在操作完成之前经过的超时时间或服务器没有响应.当我在SSMS中执行相同的sproc时,它会相对快速地返回. SQL Server和IIS位于同一个框中.我在两个地方都以同一个用户身份登录.其他页面都很好. 最佳答案 可能是参数嗅探.

My answer here为您提供了一些查询,您可以使用这些查询来检索执行计划(SSMS和ASP.NET)以进行比较和对比.

编辑

实际上这可能是一个更有用的查询.

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'
点赞