Непредсказуемое поведение сценария SQL - PullRequest
0 голосов
/ 17 февраля 2012

При запуске сценария SQL (сгенерированного сторонним программным обеспечением) на SQL 2008 R2 это занимает ок.30-60 секунд, чтобы получить таблицу результатов.Изменение сценария вручную приводит к мгновенному возвращению данных.

Нам нужно настроить SQL-сервер таким образом, чтобы он немедленно возвращал исходный скрипт.Оригинальный скрипт выполняется нормально на сервере SQL2005.

В модификациях скрипта я попытался сделать следующее:

  1. Удалить переменные и заменить действительные значения (измененный скрипт № 1)  Скрипт немедленно возвращает правильные результаты.
  2. Удалите выбор столбца из предложения SELECT и замените его подстановочным знаком '*' (измененный сценарий № 2). Сценарий немедленно возвращает правильные результаты.

Я не понимаю, почему это влияет на SQLсервер таким образом, что он делает.Мой прогноз состоял в том, что он должен что-то делать с планами выполнения / взаимоблокировками, но, вероятно, ошибочным.

Я попытался очистить планы выполнения (DBCC FREEPROCCACHE) и поиграл с настройками взаимоблокировки, настройками параллельного выполнения, но это суетане принесло никаких приемлемых результатов.

Индексы базы данных несколько раз перестраивались.

Мы не можем изменить сам скрипт (и есть еще много с такой же проблемой), поэтому нам нужно найти решение для конфигурациик этой проблеме.

Здесь - это текстовый документ с включенным сценарием SQL и снимками экрана с данными (и временем)

Спасибо

...