В настоящее время у нас возникают трудности с тайм-аутом процедуры sql-сервера по запросам. В 9 раз из 10 запрос будет выполняться в течение 5 секунд, однако в некоторых случаях proc может продолжать работать более 2 минут и вызывать тайм-ауты на передней панели (приложение .net MVC).сохраненные профайлы времени
Они исследовали это уже более недели, проверяя рабочие места, производительность сервера, и все, кажется, в порядке.
DBA сузили его до конкретной таблицы, которая бомбардируется из разных приложений со вставками/обновлениями. Это в сочетании с запросом на сложный выбор, который вызывает тайм-аут, который соединяется с этой таблицей (им сообщается), вызывает тайм-ауты.
Есть ли какие-либо предложения о том, как обойти эти тайм-ауты? т.е.
- повторить таблицу и запросить новую таблицу?
- Любая дополнительная отладка, которая может доказать, что на самом деле это проблема?
- Возможно кэширование данных на передней панели, если тайм-аут, данные вызова из кеша?
Сохраняет ли хранимая процедура чтение или запись данных? –
@DanBracuk proc читает данные – Simon
Настройка уровня изоляции транзакций для чтения, не будет больно и может помочь. https://msdn.microsoft.com/en-CA/library/ms173763.aspx –