Программный комплекс «Центр здоровья»
техническая поддержка => Программный комплекс «Центр здоровья» => Отчетность ПК «Центр здоровья» => Тема начата: St1Ufa от 05 Марта 2012, 17:57:35
-
Здравствуйте.
У нас в Центре здоровья при выгрузке реестра проф. скрининнга подвисает весь процесс на половине. Ожидание в его завершения растянулось аж на минут 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.
-
Вечер добрый.
Попробуйте обновить протоколы до более новой версии, см. http://hc-forum.mednet.ru/index.php?topic=585.msg7019#msg7019
-
Обновление ситуацию изменило, но не исправило. Теперь Выгрузка за период весит на пол пути (ждал всего 8 минут, не вытерпел, да и врятли должно так долго, ведь брал 1 месяц-то). Что делать дальше? Может быть TeamViewer?
-
Добрый день.
Попробуйте пожалуйста осуществить простую выгрузку реестра профилактического скрининга.
Произведите переиндексацию базы данных, в режиме администрирования.
-
У нас тоже выгрузка трудно работает - сервер загружается на 100 % - рабочие станции просто висят в это время, сервер не в силах их обслуживать.
Причем "простая выгрузка реестра" - без указания дат - работает быстрее, чем выгрузка за период.
Например просто выгрузка - 20 минут, за период(месяц) - 40 минут. Чем сервер занимается в эти 20 минут? Полный бэкап базы быстрее происходит. Ну пусть даже 40 таблиц надо посмотреть и выбрать по несколько тысяч записей из каждой для формирования реестра, но это не должно длиться так долго...
И не понятно почему так. То ли разработчик не оптимальные запросы использует, без индексов, когда еще и условие на проверку даты появляется, то ли создаются временные таблицы почти полные копии рабочих таблиц(кстати так обязательно делать ? по-другому никак?) ...
Вопрос к тех.подддержке: Может вы отправите запрос к вашим программистам сделать анализ оптимальности использованных запросов и процедур в протоколе выгрузки реестра проф.скрининга. Вы же разработчики, у вас все инструменты есть на руках. Сделайте временные замеры разных частей вашей процедуры. Надо найти узкое место.
-
Такая же ошибка. Обновления и переиндексацию БД делали.
У предыдущего "проблемника" все разрешилось? Просто на данный момент уже ждем 15 минут при Простой выгрузке (без интервалов)
С уважением, Волгоградский МИАЦ.
-
Просьба ответить, кто сталкивался/решал данную проблему...
-
Попробуйте воспользоваться обновлением, указанный в следующем сообщении: http://hc-forum.mednet.ru/index.php?topic=585.msg7019#msg7019, в нем предоставлены более новые версии протоколов выгрузок.
-
Подтверждаю, что именно "новые версии протоколов выгрузок" и индексация таблиц которая выполняется в этом обновлении значительно увеличила скорость выгрузки реестра. у нас от 2 до 5 минут теперь выгружается.
-
Подтверждаю, что именно "новые версии протоколов выгрузок" и индексация таблиц которая выполняется в этом обновлении значительно увеличила скорость выгрузки реестра. у нас от 2 до 5 минут теперь выгружается.
как же вам повезло! у нас после этого выгрузка занимает 4,5 - 5 часов. Переиндексация и новые протоколы дело совершенно не спасают. Отправка пакетов - за секунды, а вот чтобы эти пакеты сначала достать - нужно оставить сервер на вечер, чтобы он поработал. В автоматическом режиме ничего не работает, ибо вешает центр здоровья намертво.
-
Попробуйте воспользоваться mup файлом в ответе:
http://hc-forum.mednet.ru/index.php?topic=695.msg11233#msg11233