|
Медленный запрос с MS Sql server
|
|||
---|---|---|---|
#18+
Здравствуйте. После замены основного сервера на нем медленно выполняются запросы VFP к MS sql. Возможно что с драйверами или настройками MS sql server. На компьютере установлен Windows server 2012 r2 standart. на него сначала установили SQL server 2017 developer и запросы выполнялись нормально( возможно ошибаюсь), но т.к. не рботали корректно внешние объекты через advantage, sql server переустановили на ms sql 2012(11.0.2100). Запускаю на этом сервере следующие команды Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16.
Происходит подключение и выполняется выборка данных, но очень медленно, в таблице около 15к записей. меняю адрес сервера на тестовый и запускаю - ситуация аналогичная. Если этот же скрипт запустить на тестовом компьютере и подключатся к тестовой базе и к базе на новом сервере - выполняется с нормальной скоростью. Проверял с драйверами "Sql server" и "Sql server native client 11.0", но результат одинаковый. в чем может быть причина? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.04.2020, 11:22 |
|
Медленный запрос с MS Sql server
|
|||
---|---|---|---|
#18+
vova_ukr_lg ...в чем может быть причина? Причин может быть очень много и они скорее всего не зависят от FoxPro. Вы пробовали выполнить аналогичный запрос на машине клиента через "Microsoft SQL Management studio"? Каково время выполнения запроса? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.04.2020, 11:46 |
|
Медленный запрос с MS Sql server
|
|||
---|---|---|---|
#18+
Sergey Ch, Этот же запрос выполняю из SQL management studio запущенном на основном сервере - выполнение проходит за секунду. Этот скрипт на FoxPro запускаю с тестового компьютера, но с подключением к базе на основном сервере - выполняется за секунду. Этот же скрипт запускаю на основном сервере с подключением к базе на этом же сервере - только на подключение уходит 2-3 секунды. Когда на основном сервере запускается скрипт в котором загружается много записей через команду insert, то загрузка происходит примерно 4-5 записей в секунду, ранее на загрузку 60-70к записей уходило менее минуты. Пробовал переустанавливать sql server, foxpro. Но не помогает. Антивирус пока не установлен, встроенный фаервол отключен. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.04.2020, 11:54 |
|
Медленный запрос с MS Sql server
|
|||
---|---|---|---|
#18+
vova_ukr_lg Этот же запрос выполняю из SQL management studio запущенном на основном сервере - выполнение проходит за секунду... Если мне не изменяет память в 2012 сервере были изменения на поддрежку "OLE DB " vs "ODBC". Посмотрите в сторону измения драйвера на ODBC. немного дополнительной информации по соединиению FoxPro с различными источниками данных . Я бы ещё попробовал создать 32 bit DSN на сервере и сделать запрос через него (вместь прямого обращения к клиенту меняя SQL ODBC drivers). P.S. А Вы пробовали "Microsoft SQL Management studio" подсоединить через TCP/IP protocol '192.168.1.1' ? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.04.2020, 19:24 |
|
Медленный запрос с MS Sql server
|
|||
---|---|---|---|
#18+
Sergey Ch, Sergey Ch P.S. А Вы пробовали "Microsoft SQL Management studio" подсоединить через TCP/IP protocol '192.168.1.1' ? Это при подключении указать не имя сервера а его IP? При таком соединении запрос выполняется из студии нормально. Из Microsoft SQL Management studio запросы проходят без проблем не зависимо к чему было подключение(основной сервер по имени или ip либо база на тестовом сервере открытая с основного) Менять драйвер на ODBC или другой - затруднительно, т.к. придется переписывать и перепроверять в нескольких программах и утилитах, хотелось бы докопаться что здесь конфликтует. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.04.2020, 11:03 |
|
Медленный запрос с MS Sql server
|
|||
---|---|---|---|
#18+
vova_ukr_lg Менять драйвер на ODBC или другой - затруднительно, т.к. придется переписывать и перепроверять в нескольких программах и утилитах, хотелось бы докопаться что здесь конфликтует. Я так понимаю что у Вас проблема в запуске Вашего приложения непосредственно на сервере где расположен MS SQL Server? А если попробовать убрать "+';LANGUAGE=русский" из Вашей Connection string ради эксперимента? Если в запросе убрать скобки (just in case): " SELECT * FROM dbo.contragent ". Если Вы откроете "ODBC Data Sources (32-bit)" - есть ли там у Вас оба клиента в списках: "Sql server" и "Sql server native client 11.0" во вкладке "drivers"? Ради эксперимента я бы создал очень маленькое тестовое приложение на FoxPro где бы поэкспериментировал со всеми доступными драйверами. Если бы ничего не получилось, то пришлось бы устанавливать на сервере procmon application from Microsoft (it is free). И там бы уже смотрел, что Ваше приложение конкретно запрашивает и получает в ответ. Долгий и трудный путь (так как будет очень длинный log), но там будет видно всё что происходит. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.04.2020, 14:44 |
|
Медленный запрос с MS Sql server
|
|||
---|---|---|---|
#18+
Да, забыл спросить - а Вы смотрели Ваши запросы из FoxPro на сервере непосредстванно в "SQL Profiler"? Умеете им пользоваться? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.04.2020, 14:49 |
|
Медленный запрос с MS Sql server
|
|||
---|---|---|---|
#18+
Sergey Ch vova_ukr_lg Менять драйвер на ODBC или другой - затруднительно, т.к. придется переписывать и перепроверять в нескольких программах и утилитах, хотелось бы докопаться что здесь конфликтует. Я так понимаю что у Вас проблема в запуске Вашего приложения непосредственно на сервере где расположен MS SQL Server? А если попробовать убрать "+';LANGUAGE=русский" из Вашей Connection string ради эксперимента? Если в запросе убрать скобки (just in case): " SELECT * FROM dbo.contragent ". Если Вы откроете "ODBC Data Sources (32-bit)" - есть ли там у Вас оба клиента в списках: "Sql server" и "Sql server native client 11.0" во вкладке "drivers"? Ради эксперимента я бы создал очень маленькое тестовое приложение на FoxPro где бы поэкспериментировал со всеми доступными драйверами. Если бы ничего не получилось, то пришлось бы устанавливать на сервере procmon application from Microsoft (it is free). И там бы уже смотрел, что Ваше приложение конкретно запрашивает и получает в ответ. Долгий и трудный путь (так как будет очень длинный log), но там будет видно всё что происходит. LANGUAGE=русский убрал, запрос переписал в "select top 10 * FROM [dbo].contragent" драйвера SQL serer и native client 11, есть. в скрипте поставил замер скорости после подключения и после выполнения запроса. с момента запуска до установления соединения ~2.8-3 сек, до окончания выполнения - 15-16 сек. даже установление соединения в 3 секунды это много. в профайлере во время подключения вызывается Код: plsql 1. 2. 3. 4. 5. 6.
далее выполняется Код: sql 1.
здесь reads=2 duration=0 (почему то) и после выполняется отключение. с duration = ~16000 ... |
|||
:
Нравится:
Не нравится:
|
|||
14.04.2020, 15:10 |
|
Медленный запрос с MS Sql server
|
|||
---|---|---|---|
#18+
vova_ukr_lg и после выполняется отключение. с duration = ~16000 То есть до "отключения" данные не приходят на клиент? Вот похожее обсуждение Здесь возможное решение тоже что и я Вам уже советовал - попробовать сделать System DSN 32 bit на сервере и из Вашего тестового приложения сделать запрос. Надо попытаться удалить из нашего случая возможность того, что FoxPro как-то использует 64bit driver (хотя это и маловероятно). Ещё он пишет про порт. Я так понимаю что у Вас стандартный 1433 и так как "SQL management studio" работает быстро, то проблем с занятостью порта у Вас нет. P.S. Я так думаю что Вы уже удаляли и устанавливали заново "Microsoft SQL Server 2012 Native client"? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.04.2020, 20:58 |
|
Медленный запрос с MS Sql server
|
|||
---|---|---|---|
#18+
Всем спасибо за помощь, сегодня по ряду других причин пришлось переустановить систему. Данный вопрос закрылся после переустановки, остались вопросы другого плана, но это уже по настройке Windows. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.04.2020, 16:30 |
|
|
start [/forum/topic.php?fid=41&fpage=5&tid=1581564]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
30ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
48ms |
get tp. blocked users: |
2ms |
others: | 273ms |
total: | 399ms |
0 / 0 |