Почему запрос t-sql, который ранее работал и не был изменен, больше не возвращал ни одной строки? - PullRequest
1 голос
/ 14 апреля 2010

Я успешно выполнил этот запрос несколько раз, не более двух недель назад. Я не сделал ни одного изменения в этом. Кажется маловероятным, что внутренние данные изменились бы настолько, чтобы не дать никаких результатов. Что еще может способствовать этому?

Ответы [ 3 ]

5 голосов
/ 14 апреля 2010

Если это точно такой же запрос, то это должны быть либо данные, либо запрашиваемая база данных, которые изменили , если только не имеет какой-то временной / переходной фильтрации в вашем запросе, такой как фильтрация по диапазону дат с GETDATE.

Так что я бы проверил следующие вещи по порядку:

  1. Это точно такой же запрос?
  2. Работает в той же базе данных?
  3. Фильтрует ли запрос по чувствительным ко времени данным?
  4. В противном случае, я предполагаю, что данные изменились
1 голос
/ 14 апреля 2010

, чтобы добавить к @ превосходный ответ Даниэля ДиПаоло , если вы используете представление в своем запросе, оно могло бы измениться. И как реальное растяжение, если у вас есть вычисленные столбцы, к которым вы присоединяетесь или фильтруете, и формула изменилась, это может привести к тому, что строки не будут возвращены.

0 голосов
/ 15 апреля 2010

попробуйте перекомпилировать запрос. Самый простой способ - сбросить и воссоздать его.

если запрос выполняется сейчас, то причиной является неправильный план запроса. это произошло в моей БД. решение было добавить подсказку перекомпиляции. звучит очень плохо, я знаю ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...