Jeg vil have mistanke om parametersniffing.
Den cachelagrede eksekveringsplan, der bruges til din applikations forbindelse, vil sandsynligvis ikke kunne bruges af din SSMS-forbindelse på grund af et andet set
muligheder, så det vil generere en ny anderledes plan.
Du kan hente de cachelagrede planer for den lagrede procedure ved at bruge forespørgslen nedenfor. Sammenlign derefter for at se, om de er forskellige (f.eks. laver den langsomme indekssøgninger og bogmærkeopslag et sted, hvor den anden laver en scanning?)
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'