Форум программистов, компьютерный форум, киберфорум
Microsoft SQL Server
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.93/29: Рейтинг темы: голосов - 29, средняя оценка - 4.93
25 / 23 / 34
Регистрация: 22.11.2012
Сообщений: 183

Не работает SQL - запрос

18.01.2019, 17:21. Показов 5752. Ответов 14

Студворк — интернет-сервис помощи студентам
Друзья, всем привет!
Такая вопрос, по какой причине может не работать один и тот же SQL запрос?
Запрос на тестовом сервере работает, а на проде не работает.
Запросы сравнивал в notepad++ с помощью плагина compare, и они полностью идентичны
На тесте он выводит данные, на проде крутит долгое количество времени, а потом не выводит ничего, пишет "Нет данных для отображения". Они там 100 процентов есть.
В чем может быть причина?
как лечить ?
все идеи закончились.
Заранее благодарю за ваши ответы
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
18.01.2019, 17:21
Ответы с готовыми решениями:

Запрос работает в SQL Manager, но не работает в пхп
Всем привет. У меня есть такой простой запрос UPDATE r.db.pbase SET smf = 'Z' WHERE id = '3218104' Если его выполнять в MS SQL,...

Неправильно работает SQL запрос
Здравствуйте. Помогите пожалуйста с запросом. БД SQLExpress. Запрос Delete from balanceTemp insert into BalanceTemp (MatID,...

Неправильно работает запрос SQL
есть таблицы contracts contract_ID renter_ID office_ID contract_date_begin contract_date_end offices

14
Эксперт Pascal/Delphi
 Аватар для xxbesoxx
1135 / 616 / 129
Регистрация: 13.02.2009
Сообщений: 3,602
18.01.2019, 17:30
Цитата Сообщение от Славуся Посмотреть сообщение
В чем может быть причина?
как лечить ?
все идеи закончились.
Заранее благодарю за ваши ответы
было бы хорошо смотреть "БД и запрос" если не секрет ?!
0
3614 / 2135 / 756
Регистрация: 02.06.2013
Сообщений: 5,169
18.01.2019, 18:07
1. Идентичные запросы на разных серверах к разным БД не обязательно имеют идентичные планы выполнения.
2. Судя по описанию, можно предположить, что напроде запрос отваливается по таймауту, а приложение просто все ошибки транслирует в "Нет данных для отображения".

Помониторьте выполнение данного запроса профайлером, добавив событие Attention из раздела Errors and Warnings.
0
25 / 23 / 34
Регистрация: 22.11.2012
Сообщений: 183
22.01.2019, 12:56  [ТС]
Цитата Сообщение от invm Посмотреть сообщение
1. Идентичные запросы на разных серверах к разным БД не обязательно имеют идентичные планы выполнения.
2. Судя по описанию, можно предположить, что напроде запрос отваливается по таймауту, а приложение просто все ошибки транслирует в "Нет данных для отображения".
Помониторьте выполнение данного запроса профайлером, добавив событие Attention из раздела Errors and Warnings.
посмотрел профайлером, как вы и советовали
но не нашел ничего
между BatchingStart и BatchingComplete никаких warning и error обнаружено не было, запрос отработал за 9140 мс, прокатив около ляма записей, однако, ничего не вывел, как будто там ничего нет

Цитата Сообщение от xxbesoxx Посмотреть сообщение
было бы хорошо смотреть "БД и запрос" если не секрет ?!
Добавлено через 1 минуту
к сожалению, запрос показать не смогу
0
3614 / 2135 / 756
Регистрация: 02.06.2013
Сообщений: 5,169
22.01.2019, 13:11
Цитата Сообщение от Славуся Посмотреть сообщение
прокатив около ляма записей
Это в каком столбце трассы? В RowCounts?
0
25 / 23 / 34
Регистрация: 22.11.2012
Сообщений: 183
22.01.2019, 13:23  [ТС]
Цитата Сообщение от invm Посмотреть сообщение
Это в каком столбце трассы? В RowCounts?
Это значение было в Reads, не исключаю того, что я мог ошибочно положить, что это кол-во записей
0
3614 / 2135 / 756
Регистрация: 02.06.2013
Сообщений: 5,169
22.01.2019, 13:34
Reads - не количество строк.
Посмотрите что в RowCounts - это число строк, возвращенных запросом.
0
13 / 14 / 5
Регистрация: 21.08.2012
Сообщений: 245
23.01.2019, 13:22
Если в предложении WHERE несколько условий, то можно отключать по одному и смотреть результат.
Также можно поступить и с таблицами (если их несколько в запросе).
Может какая-то таблица заблокирована...
0
25 / 23 / 34
Регистрация: 22.11.2012
Сообщений: 183
24.01.2019, 10:12  [ТС]
Цитата Сообщение от invm Посмотреть сообщение
Reads - не количество строк.
Посмотрите что в RowCounts - это число строк, возвращенных запросом.
Вот, что показал профайлер
Миниатюры
Не работает SQL - запрос  
0
25 / 23 / 34
Регистрация: 22.11.2012
Сообщений: 183
24.01.2019, 10:15  [ТС]
Цитата Сообщение от СергейР Посмотреть сообщение
Если в предложении WHERE несколько условий, то можно отключать по одному и смотреть результат.
Также можно поступить и с таблицами (если их несколько в запросе).
Может какая-то таблица заблокирована...
а если таблица заблокирована, то это как то наверное можно посмотреть системными программами типа профайлера(мб другое что)?
0
3614 / 2135 / 756
Регистрация: 02.06.2013
Сообщений: 5,169
24.01.2019, 10:23
Цитата Сообщение от Славуся Посмотреть сообщение
Вот, что показал профайлер
Запрос вернул одну строку.
Если это запрос из клиента, то разбираться нужно с клиентом.
0
25 / 23 / 34
Регистрация: 22.11.2012
Сообщений: 183
24.01.2019, 10:39  [ТС]
Цитата Сообщение от invm Посмотреть сообщение
Запрос вернул одну строку.
Если это запрос из клиента, то разбираться нужно с клиентом.
Запрос делал через SQL Server
ну то есть прям напрямую запрос вогнал и запустил
в окне вывода ничего нет, а там как будто запрос вернул 1 строку
0
3614 / 2135 / 756
Регистрация: 02.06.2013
Сообщений: 5,169
24.01.2019, 11:38
Цитата Сообщение от Славуся Посмотреть сообщение
Запрос делал через SQL Server
ну то есть прям напрямую запрос вогнал и запустил
в окне вывода ничего нет, а там как будто запрос вернул 1 строку
Видимо в запросе есть вызовы пользовательских функций?

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

Проще всего найти проблемное место можно анализируя актуальный план выполнения - двигаясь от корня (самый левый узел) направо искать итератор, у которого на входе (входах) количество строк > 0, а на выходе 0
0
25 / 23 / 34
Регистрация: 22.11.2012
Сообщений: 183
24.01.2019, 16:07  [ТС]
я заранее прошу не ругать меня за тупые вопросы, которые я сейчас задам, но все таки задам
Цитата Сообщение от invm Посмотреть сообщение
Проще всего найти проблемное место можно анализируя актуальный план выполнения - двигаясь от корня (самый левый узел) направо искать итератор, у которого на входе (входах) количество строк > 0, а на выходе 0
Можно поподробнее, что за актуальный план? корень..это где то оно в виде дерева что - то? или это имелась ввиду эта таблица в профайлере?
Цитата Сообщение от invm Посмотреть сообщение
В любом случае, если на одной БД результат есть, а на другой - нет, значит или разница в данных или в среде выполнения.
Например, может влиять язык, установленный для соединения.
это какой такой язык? среда выполнения это имеется ввиду различность версий sql сервера или что?
Цитата Сообщение от invm Посмотреть сообщение
Видимо в запросе есть вызовы пользовательских функций?
нет, там нет вызова таких ф-й, там select в select'е, но ничего криминального
0
3614 / 2135 / 756
Регистрация: 02.06.2013
Сообщений: 5,169
24.01.2019, 16:46
Цитата Сообщение от Славуся Посмотреть сообщение
Можно поподробнее, что за актуальный план?
Выполните
T-SQL
1
2
3
set statistics xml on;
Запрос
set statistics xml off;
и получите, наряду с результатом, актуальный план выполнения на отдельной закладке в панели результатов.
Цитата Сообщение от Славуся Посмотреть сообщение
это какой такой язык?
Человеческий
Установленный как дефолтный для логина или явно инструкцией set language.
Цитата Сообщение от Славуся Посмотреть сообщение
среда выполнения это имеется ввиду различность версий sql сервера или что?
Нет, это набор значений опций соединения. См. https://docs.microsoft.com/ru-... erver-2017

Язык и значения некоторых опций могут влиять на результат запроса.
Цитата Сообщение от Славуся Посмотреть сообщение
но ничего криминального
Ну, как минимум, показано событие SQL:BatchCompleted, а не SQL:StmtCompleted. Поэтому это RowCounts пакета, а не запроса.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
24.01.2019, 16:46
Помогаю со студенческими работами здесь

LocalDB SQL 2012 не работает запрос на выборку с условием?
LocalDB SQL 2012 создан в VS 2013 проект WinForm. Таблица простая Stud (Id, Fam, Im, Gr, Den_ro, Sr_ball). Заполнена данными на русском...

Не работае запрос в SQL Navigator 6.0 хотя работает в 4 и SQL Plus
Добрый день. Такая вот непонятная проблемка нарисовалась на ровном месте. Установили SQL Navigator 6.0 и запрос: select (CASE WHEN...

SQL запрос, работающий в MS SQL Menegment'e не работает в делфи
Требуется выполнить запрос по нажатию кнопки, запрос сначала написал в Microsoft SQL Managment, где и написал свою БД, там запрос работает,...

SQL-запрос работает в Access, а в Delphi не работает :'(
Две связанные таблицы 1к1. Вводим данные в поле одной таблицы и во второй должны быть сделаны теже изменения в одноимённом поле, т.е....

Запрос работает в SQL Manager, но не работает в пхп
Скажу сразу функция mssql_get_last_message() ничего не выводит. $name=$_POST; $login=$_POST; $pass=$_POST; $ip_addr=$_POST; ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Новые блоги и статьи
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если. . .
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru