Měl bych podezření na sniffování parametrů.
Plán spuštění v mezipaměti používaný pro připojení vaší aplikace pravděpodobně nebude použitelný pro vaše připojení SSMS kvůli jiné set
možnosti, takže vygeneruje nový jiný plán.
Plány uložené v mezipaměti pro uloženou proceduru můžete načíst pomocí níže uvedeného dotazu. Poté porovnejte, zda se liší (např. ten pomalý prohledává indexy a záložky na místě, kde ten druhý skenuje?)
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'