|
неправильно отрабатывает запрос
|
|||
---|---|---|---|
#18+
Добрый день. Есть запрос. возвращает 0 записей (отрабатывает за секунду, блокировок нет): Код: sql 1. 2. 3. 4.
Если к этому запросу добавить where d.SourceID = 30: Код: sql 1. 2. 3. 4. 5.
то он возвращает 10 записей. Как такое может быть? Это я в этой жизни что то не понимаю? Или с базой проблемы? Ошибочно отрабатывает первый запрос ... |
|||
:
Нравится:
Не нравится:
|
|||
28.01.2020, 16:35 |
|
неправильно отрабатывает запрос
|
|||
---|---|---|---|
#18+
Drobodan Добрый день. Есть запрос. возвращает 0 записей (отрабатывает за секунду, блокировок нет): Код: sql 1. 2. 3. 4.
Если к этому запросу добавить where d.SourceID = 30: Код: sql 1. 2. 3. 4. 5.
то он возвращает 10 записей. Как такое может быть? Это я в этой жизни что то не понимаю? Или с базой проблемы? Ошибочно отрабатывает первый запрос dbcc checkdb делали? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.01.2020, 16:37 |
|
неправильно отрабатывает запрос
|
|||
---|---|---|---|
#18+
Drobodan, могут быть проблемы с индексами. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.01.2020, 16:40 |
|
неправильно отрабатывает запрос
|
|||
---|---|---|---|
#18+
Drobodan, Перестроить индексы для начала ... |
|||
:
Нравится:
Не нравится:
|
|||
28.01.2020, 16:44 |
|
неправильно отрабатывает запрос
|
|||
---|---|---|---|
#18+
Drobodan Добрый день. Есть запрос. возвращает 0 записей (отрабатывает за секунду, блокировок нет): Код: sql 1. 2. 3. 4.
Если к этому запросу добавить where d.SourceID = 30: Код: sql 1. 2. 3. 4. 5.
то он возвращает 10 записей. Как такое может быть? Это я в этой жизни что то не понимаю? Или с базой проблемы? Ошибочно отрабатывает первый запрос А если убрать with(nolock)? грязное чтение на то и грязно, что при чтении из разных индексов можно получить разные данные ... |
|||
:
Нравится:
Не нравится:
|
|||
28.01.2020, 16:47 |
|
неправильно отрабатывает запрос
|
|||
---|---|---|---|
#18+
ДваждыДва, нет, не делал. Для проверки DBCC CHECKDB запустил перевод базы в SINGLE_USER режим. пока висит ... |
|||
:
Нравится:
Не нравится:
|
|||
28.01.2020, 16:54 |
|
неправильно отрабатывает запрос
|
|||
---|---|---|---|
#18+
msLex, без nolock результат то же ... |
|||
:
Нравится:
Не нравится:
|
|||
28.01.2020, 16:55 |
|
неправильно отрабатывает запрос
|
|||
---|---|---|---|
#18+
Drobodan ДваждыДва, нет, не делал. Для проверки DBCC CHECKDB запустил перевод базы в SINGLE_USER режим. пока висит ну в синг это вы дали маху) ... |
|||
:
Нравится:
Не нравится:
|
|||
28.01.2020, 17:30 |
|
неправильно отрабатывает запрос
|
|||
---|---|---|---|
#18+
Drobodan, а где в вашем запросе ORDER BY ? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.01.2020, 18:38 |
|
неправильно отрабатывает запрос
|
|||
---|---|---|---|
#18+
PaulYoung Drobodan, а где в вашем запросе ORDER BY ? отсутствие ORDER BY не объясняет 0 vs 10 записей ... |
|||
:
Нравится:
Не нравится:
|
|||
28.01.2020, 18:55 |
|
неправильно отрабатывает запрос
|
|||
---|---|---|---|
#18+
Владислав Колосов и TaPaK, Вы скорее всего правы. Дело в индексах и вот почему: изменив запрос на Код: sql 1. 2. 3. 4.
запрос выполнился правильно, вывелось 10 записей. добавлением +0 убрал поиск по индексу Пришел к выводу, что дело в индексе PK_client (поле id таблицы SMART_DWH.customers) вот эта конструкция Код: sql 1. 2. 3. 4. 5.
Попытка его реорганизовать Код: sql 1.
завершилась с ошибками вида The operating system returned error 665(The requested operation could not be completed due to a file system limitation) to SQL Server during a write at offset 0x00009872efc000 in file 'D:\Data\SMART_DWH.mdf:MSSQL_DBCC17'. Additional messages in the SQL Server error log and system event log may provide more detail. This is a severe system-level error condition that threatens database integrity and must be corrected immediately. Complete a full database consistency check (DBCC CHECKDB). This error can be caused by many factors; for more information, see SQL Server Books Online. попытка выполнить exec('DBCC CHECKDB (''SMART_DWH'') WITH tableresults') закончилась, после 5 часов выполнения, следующей ошибкой: Msg 0, Level 11, State 0, Line 0 A severe error occurred on the current command. The results, if any, should be discarded. Msg 0, Level 20, State 0, Line 0 A severe error occurred on the current command. The results, if any, should be discarded. После чего решил запустить REBUILD индекса: Код: sql 1.
Данный скрипт отработал за 30 минут успешно. Проверил результат изначальным запросом Код: sql 1. 2. 3. 4.
Вернул 10 записей. На этом, казалось что все - вопрос решен. Но запустив этот же запрос не на top 10, а на top 100 получил 0 строк. В планах выполнения этих 2 запросов появилось 1 отличие: во втором запросе появился Key Lookup(Сlustered) [customers].[PK_client] [c] ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2020, 14:14 |
|
неправильно отрабатывает запрос
|
|||
---|---|---|---|
#18+
Drobodan, у Вас не SSD ли "посыпалась"? У меня было так - разночтения. На SSD контроллер сдох. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2020, 14:21 |
|
неправильно отрабатывает запрос
|
|||
---|---|---|---|
#18+
Drobodan, Additional messages in the SQL Server error log and system event log may provide more detail. А это вы глянули? Что там? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2020, 14:25 |
|
неправильно отрабатывает запрос
|
|||
---|---|---|---|
#18+
Владислав Колосов, Диспетчер устройст пишет vmware virtual disk scsi disk device Объем 5.18TB ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2020, 14:27 |
|
неправильно отрабатывает запрос
|
|||
---|---|---|---|
#18+
Drobodan, что в полном логе сообщения? Я бы перестраивал всю таблицу/ы участвующие. DBCC после перестроения и смотреть в сторону винтов Ну и пока DBCC гонит ошибки готовить три письма если это не смущает :) ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2020, 14:27 |
|
неправильно отрабатывает запрос
|
|||
---|---|---|---|
#18+
В файле журнала SQL сервера ничего нового не обнаружил: Куча ошибок вида "The operating system returned error 665(The requested operation could not be completed due to a file system limitation) to SQL Server during a write at offset 0x00009872efc000 in file 'D:\Data\SMART_DWH.mdf:MSSQL_DBCC17'. Additional messages in the SQL Server error log and system event log may provide more detail. This is a severe system-level error condition that threatens database integrity and must be corrected immediately. Complete a full database consistency check (DBCC CHECKDB). This error can be caused by many factors; for more information, see SQL Server Books Online." где меняется только адреса (0x00009872efc000) Очень похоже что моя ошибка описана https://support.microsoft.com/en-us/help/2002606/os-errors-1450-and-665-are-reported-for-database-data-files Файловая система NTFS Размер файл D:\Data\SMART_DWH.mdf 1.7TB ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2020, 14:45 |
|
неправильно отрабатывает запрос
|
|||
---|---|---|---|
#18+
Drobodan, диски переразмечали? а вообще идите к тому чей физический диск у вас в виртуалке ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2020, 14:48 |
|
неправильно отрабатывает запрос
|
|||
---|---|---|---|
#18+
TaPaK, нет, диски не переразмечал ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2020, 14:53 |
|
неправильно отрабатывает запрос
|
|||
---|---|---|---|
#18+
Слово where поменяйте на and. Единообразия для. Вторым шагом-join на inner join. Чтоб не было умолчаний. Третий шаг, уберите NOLOCK. Смысл такой, что когда непонятка, надо упростить запрос до максимум возможного. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2020, 16:40 |
|
неправильно отрабатывает запрос
|
|||
---|---|---|---|
#18+
авторСлово where поменяйте на and. Единообразия для. Вторым шагом-join на inner join. золотой фонд бесполезных советов? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2020, 17:15 |
|
неправильно отрабатывает запрос
|
|||
---|---|---|---|
#18+
TaPaK, Ну как же без этого. А капаот открыть? А по колесу постучать? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2020, 17:17 |
|
неправильно отрабатывает запрос
|
|||
---|---|---|---|
#18+
Гавриленко Сергей Алексеевич TaPaK, Ну как же без этого. А капаот открыть? А по колесу постучать? когда начнут предлагать перегрузить результат может стать неожиданным ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2020, 17:18 |
|
неправильно отрабатывает запрос
|
|||
---|---|---|---|
#18+
Проблема решилась созданием новой файловой группы на отдельном диске. с последующем переносом индексов в эту группу. на странице https://docs.microsoft.com/ru-ru/sql/relational-databases/indexes/move-an-existing-index-to-a-different-filegroup?view=sql-server-2017 указанны следующие ограничения: Если таблица имеет кластеризованный индекс (а PK_client кластеризованный), то перемещение кластеризованного индекса в новую файловую группу перемещает в эту файловую группу саму таблицу. В среде Среда Management Studioнельзя перемещать индексы, созданные с помощью ограничения UNIQUE или PRIMARY KEY. Для перемещения этих индексов используйте инструкцию CREATE INDEX с параметром (DROP_EXISTING=ON) в Transact-SQL. Учитывая эту информацию для переноса кластеризованного индекса [PK_client] (как и всей таблицы [customers]) пришлось использовать параметр DROP_EXISTING=ON: Код: sql 1. 2. 3. 4.
... |
|||
:
Нравится:
Не нравится:
|
|||
07.02.2020, 16:23 |
|
|
start [/forum/topic.php?fid=46&fpage=70&tid=1686527]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
51ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
54ms |
get tp. blocked users: |
2ms |
others: | 317ms |
total: | 469ms |
0 / 0 |