Программный комплекс «Центр здоровья»

Пожалуйста, войдите или зарегистрируйтесь.

Расширенный поиск  

Новости:

Телефон поддержки: +7 (800) 333-33-21 (звонок бесплатный), Электронная почта: hc@softrust.ru. Версии ПО: http://hc-forum.mednet.ru/index.php?board=2.0

Автор Тема: При выгрузке реестра проф. скрининнга Ошибка  (Прочитано 11071 раз)

St1Ufa

  • Newbie
  • *
  • Карма: +0/-0
  • Сообщений: 33

Здравствуйте.
У нас в Центре здоровья при выгрузке реестра проф. скрининнга подвисает весь процесс на половине. Ожидание в его завершения растянулось аж на минут 40. далее завершил процесс. Выгрузка же за период выдала ошибку: "Выполнение операции было прервано"
См. скриншоты в приложенном DOC файле
Выполнение операции было прервано!
Источник: Источник MSSQL
Причина : программная ошибка.
Краткое описание ошибки: Ошибка при выполнении запроса 'CREATE view [tmpdts7aa0a1a323974b0f9a68b81cf1d6b04b] as SELECT [rf_HCTypeILLnessGUID] ,[rf_MKBGUID] ,[rf_HCVisitGUID] ,[UGUID], FROM [hlt_HCILLNess] where HCILLNessID>0 and cast(rf_HCVisitGUID as varchar(36)) in (select UGUID from tmpdtsd8cd4a68db2044f09c150c4e1f13fd17) '
Подробное описание ошибки:
Message: Неправильный синтаксис около ключевого слова "FROM".
Source: .Net SqlClient Data Provider
StackTrace: at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection) at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection) at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj) at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj) at System.Data.SqlClient.SqlCommand.RunExecuteNonQueryTds(String methodName, Boolean async) at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(DbAsyncResult result, String methodName, Boolean sendToPipe) at System.Data.SqlClient.SqlCommand.ExecuteNonQuery() at MalibuSrv.MalibuDTS.MssqlLoaderInst.ProcessTempTables(String config)
TargetSite: Void OnError(System.Data.SqlClient.SqlException, Boolean)

Что делать? В чём проблема? До этого выгрузки делал (минут по 5 тратили).
Делаем на сервере. Intel Pentium Dual Core, 2 Gb Ram, Windows XP Pro SP3, ЦЗ 3.22 на 2008 SQL Express.
Записан

Служба поддержки

  • Global Moderator
  • Hero Member
  • *****
  • Карма: +36/-3
  • Сообщений: 2171

Вечер добрый.
Попробуйте обновить протоколы до более новой версии, см. http://hc-forum.mednet.ru/index.php?topic=585.msg7019#msg7019

St1Ufa

  • Newbie
  • *
  • Карма: +0/-0
  • Сообщений: 33

Обновление ситуацию изменило, но не исправило. Теперь Выгрузка за период весит на пол пути (ждал всего 8 минут, не вытерпел, да и врятли должно так долго, ведь брал 1 месяц-то). Что делать дальше? Может быть TeamViewer?
Записан

Служба поддержки

  • Global Moderator
  • Hero Member
  • *****
  • Карма: +36/-3
  • Сообщений: 2171

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

Вячеслав

  • Full Member
  • ***
  • Карма: +36/-0
  • Сообщений: 201
  • Вячеслав

У нас тоже выгрузка трудно работает - сервер загружается на 100 % - рабочие станции просто висят в это время, сервер не в силах их обслуживать.

Причем "простая выгрузка реестра" - без указания дат - работает быстрее, чем выгрузка за период.
Например просто выгрузка - 20 минут, за период(месяц) - 40 минут. Чем сервер занимается в эти 20 минут? Полный бэкап базы быстрее происходит. Ну пусть даже 40 таблиц надо посмотреть и выбрать по несколько тысяч записей из каждой для формирования реестра, но это не должно длиться так долго...

И не понятно почему так. То ли разработчик не оптимальные запросы использует, без индексов, когда еще и условие на проверку даты появляется,  то ли создаются временные таблицы почти полные копии рабочих таблиц(кстати так обязательно делать ? по-другому никак?) ...

Вопрос к тех.подддержке: Может вы отправите запрос к вашим программистам сделать анализ оптимальности использованных запросов и процедур в протоколе выгрузки реестра проф.скрининга.  Вы же разработчики, у вас все инструменты есть на руках. Сделайте временные замеры разных частей вашей процедуры. Надо найти узкое место.
« Последнее редактирование: 20 Марта 2012, 13:37:17 от Служба поддержки »
Записан

romanvlg

  • Newbie
  • *
  • Карма: +0/-0
  • Сообщений: 34

Такая же ошибка. Обновления и переиндексацию БД делали.

У предыдущего "проблемника" все разрешилось? Просто на данный момент уже ждем 15 минут при Простой выгрузке (без интервалов)

С уважением, Волгоградский МИАЦ.
Записан

romanvlg

  • Newbie
  • *
  • Карма: +0/-0
  • Сообщений: 34

Просьба ответить, кто сталкивался/решал данную проблему...
Записан

Служба поддержки

  • Global Moderator
  • Hero Member
  • *****
  • Карма: +36/-3
  • Сообщений: 2171

Попробуйте воспользоваться обновлением, указанный в следующем сообщении: http://hc-forum.mednet.ru/index.php?topic=585.msg7019#msg7019, в нем предоставлены более новые версии протоколов выгрузок.

Вячеслав

  • Full Member
  • ***
  • Карма: +36/-0
  • Сообщений: 201
  • Вячеслав

Подтверждаю, что именно "новые версии протоколов выгрузок" и индексация таблиц которая выполняется в этом обновлении значительно увеличила скорость выгрузки реестра. у нас от 2 до 5 минут теперь выгружается.
Записан

worst

  • Full Member
  • ***
  • Карма: +13/-0
  • Сообщений: 202

Подтверждаю, что именно "новые версии протоколов выгрузок" и индексация таблиц которая выполняется в этом обновлении значительно увеличила скорость выгрузки реестра. у нас от 2 до 5 минут теперь выгружается.
как же вам повезло! у нас после этого выгрузка занимает 4,5 - 5 часов. Переиндексация и новые протоколы дело совершенно не спасают. Отправка пакетов - за секунды, а вот чтобы эти пакеты сначала достать - нужно оставить сервер на вечер, чтобы он поработал. В автоматическом режиме ничего не работает, ибо вешает центр здоровья намертво.
Записан
ДГП №13
 

Страница сгенерирована за 0.133 секунд. Запросов: 18.