Длинная хранимая процедура перестает возвращать результаты после некоторых execs, почему? - PullRequest
0 голосов
/ 26 января 2011

Привет У меня есть длинная хранимая процедура, которая используется для заполнения GridView в моем приложении asp.net (c #) и другом консольном приложении (c #).Каждый раз, когда я запускаю этот sp на студии управления, он работает нормально.В некоторые дни этот sp перестает возвращать значения приложениям (но в то же время работает нормально при выполнении из среды управления).Почему или как это может случиться?(Я использую MS SQL 2005 и Win Server 2003) спасибо

1 Ответ

0 голосов
/ 26 января 2011

Вы не указали много подробностей, но я предполагаю, что вы получаете ошибки тайм-аута, и у вас есть проблема с перехватом параметров (нормально работает в 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'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...