Типичные ошибки запуска сервера и способы их устранения

В этой статье мы рассмотрим часто встречающиеся ошибки и методы их устранения. 

1. Ошибка:  Ошибка инициализации конфигурации ELMA ---> System.InvalidOperationException: Cannot check database exists ---> System.Data.SqlClient.SqlException: Ошибка входа пользователя "IIS APPPOOL\Elma3-Standart".

  • Причина: Авторизация на сервере IIS осуществлена под пользователем не имеющим прав администратора.
  • Решение: Для устранения данной ошибки IIS сервера необходимо зайти в Диспетчер служб IIS (стандартно на сервере в пуск-администрирование). В нем на вкладке Пулы приложений открыть Дополнительные параметры у пула "ELMA3-Standart" (в выпадающем списке есть такой пункт). В нем, в таблице Модель процесса, в поле Удостоверение указать учетную запись LocalSystem либо реальную учетную запись с правами администратора, после чего следует перезапустить веб-сервер.

2. Ошибка: The underlying connection was closed: An expected error occurred on a receive: Unable to read data from the transport connection: Удаленный хост разорвал существующее подключение.: Удаленный хост разорвал существующее подключение

  • Причина: Сервер ELMA запущен с недостаточными правами доступа.
  • Решение: В случае, если сервер располагается на базе Cassini, Вам необходимо нажать клавишу с логотипом Windows (флажок Microsoft) + R и ввести следующую команду в диалоговое окно: "services.msc" (без кавычек), после чего появится окно служб Windows. В нем Вы сможете найти строчку Веб-сервер ELMA, кликнуть правой кнопкой мыши и выбрать пункт Свойства, в котором и располагается искомая вкладка Вход в систему. Если же сервер основывается на базе IIS, то в этом случае необходимо так же открыть меню Выполнить (клавиша Windows + R) и ввести команду inetmgr. Откроется окно диспетчера служб IIS, в окне Подключения найдите пункт Пулы приложений, выделите его, откроется список текущего пула, где и должна быть запись о сервере ELMA. Также кликнув правой кнопкой мыши на записи, выберите пункт Дополнительные параметры. Нужная запись находится в строке Удостоверение указажите учетную запись LocalSystem либо реальную учетную запись с правами администратора, после чего следует перезапустить веб-сервер.

3. Ошибка: *System.UnauthorizedAccessException: Отказано в доступе по пути «С:\ELMA3-Express\UserConfig\configuration.packges».

  • Решение: Удаление файла с расширением .packages из папки UserConfig.

4. Ошибка: Сервер не запущен из-за ошибки.

  • Причина: Имена SQL Server Management Studio базы в  и файле configuration.config не совпадают.
  • Решение: Изменение названия БД в файле configuration.config.

5. Ошибка: Ошибка создания резервной копии данных.

  • Причина:Недостаточно места на диске.
  • Решение: Освободить место для корректного создания бекапа базы.

6. Ошибка: EleWise.ELMA.Runtime.Db.DbStructureException: Ошибка обновления структуры БД ---> System.Data.DataException: Не удалось выполнить запрос DROP INDEX UK_principal_name ON sysdiagrams ---> System.Data.SqlClient.SqlException: Явная инструкция DROP INDEX недопустима в индексе "sysdiagrams.UK_principal_name". Он используется для принудительного применения ограничения UNIQUE KEY.

  • Причина: В SQL Server Management Studio, В разделе Системные таблицы не должно быть таблиц.
  • Решение: Остановите сервер ELMA и откройте SQL Server Management Studio, в списке баз данных выберите нужную БД и разверните список таблиц. В разделе Системные таблицы не должно быть таблиц. Если они там есть, удалите их. Запустите сервер ELMA. 

7. Ошибка: Ошибка из-за наличия активных подключений к БД.

  • Причина: После восстановления базы из бекапа на сервере со временем отличным от предыдущего может остаться информация об активном подключении.
  • Решение: Создание резервной копии и выполнение запроса в БД. Текст запроса: Delete from DB_ACTIVECONNECTIONS.

8. Ошибка: EleWise.ELMA.Runtime.Db.DbStructureException: Ошибка обновления структуры БД ---> NHibernate.TransactionException: Commit failed with SQL exception ---> FirebirdSql.Data.FirebirdClient.FbException: unsuccessful metadata update

object INDEX is in use ---> FirebirdSql.Data.Common.IscException: unsuccessful metadata update

  • Причина: Ошибка обновления.
  • Решение: Сделайте резервное копирование базы и восстановите ее. (Для корректной работы системы на FireBird данную операцию необходимо производить с периодичностью раз в две недели).

9. Ошибка: *EleWise.ELMA.Runtime.Exceptions.ConfigurationInitializeException: Ошибка инициализации конфигурации ELMA ---> System.InvalidOperationException: Не удалось подключиться к базе данных ---> FirebirdSql.Data.FirebirdClient.FbException: Unable to complete network request to host "127.0.0.1". ---> FirebirdSql.Data.Common.IscException: Unable to complete network request to host "127.0.0.1".

  • Причина: Ошибка в файле configuration.config в строке <add name="MainDB" connectionString="data source=127.0.0.1;initial catalog={CONFIGDIR}\base.fdb;user id=sysdba;password=masterkey;character set=UNICODE_FSS;dialect=3;server type=0" />.
  • Решение: Убедиться, что в строке<add name="MainDB" connectionString="data source=127.0.0.1;initial catalog={CONFIGDIR}\base.fdb;user id=sysdba;password=masterkey;character set=UNICODE_FSS;dialect=3;server type=0" /> отсутствуют опечатки, соблюден регистр символов.

10. Ошибка: *EleWise.ELMA.Runtime.Exceptions.ConfigurationInitializeException: Ошибка инициализации конфигурации ELMA ---> System.InvalidOperationException: Не удалось подключиться к базе данных ---> System.Data.SqlClient.SqlException: Не удается открыть базу данных "ELMA", запрашиваемую именем входа. Не удалось выполнить вход.
Ошибка входа пользователя "NT AUTHORITY\система".

  • Причина: Авторизация на сервере Cassini осуществлена под пользователем не имеющим прав администратора.
  • Решение: Необходимо запустить сервер Elma от имени учетной записи, обладающей правами администратора в Windows. Для этого зайдите в Панель управления –  Администрирование –  Службы, найдите там Веб-сервер Elma, щелкните по нему правой кнопкой мыши, выберите Свойства, в открывшемся окне перейдите на вкладку Вход в систему, установите флажок С учетной записью и введите данные учетной записи, обладающей правами администратора.

Дополнение: Ошибка сервера MS SQL 2008 и выше Login failed for user ’NT AUTHORITY\система’. Причина: не удалось открыть явно указанную базу данных "ELMA". [КЛИЕНТ: <local machine>]. Ошибка: 18456, серьезность: 14, состояние: 38.

  • Причина: Авторизация верная, запуск происходит с правами администратора, но база данных недоступна (или нет разрешения).
  • Решение: Группе NT AUTHORITY\система необходимо добавить роль sysadmin на SQL сервере. Для этого зайдите Microsoft SQL Server Management Studio, раздел Безопасность - > Имена входа и выберите свойства группы NT AUTHORITY\система. В меню Роли сервера установите флажок напротив роли sysadmin.

11. Ошибка: *EleWise.ELMA.Runtime.Exceptions.ConfigurationInitializeException: Ошибка инициализации конфигурации ELMA ---> System.InvalidOperationException: Не удалось подключиться к базе данных ---> System.Data.SqlClient.SqlException: Разрешение CREATE DATABASE запрещено в базе данных "master".
Не удалось присоединить файл "F:\ELMA3-Standart\UserConfig\ELMA3.mdf" в качестве базы данных "ELMA3".

  • Причина: Ошибка в файле configuration.config в строке AttachDbFilename={CONFIGDIR}\ELMA3.mdf;
  • Решение: Удалить строку "AttachDbFilename={CONFIGDIR}\ELMA3.mdf" в конфигурационном файле configuration.config. После внесенных изменений файл необходимо сохранить и перезапустить веб-сервер.

12. Ошибка: При работе с веб-частью отображается всплывающее окно с ошибкой Не пройдена проверка предусловий запуска.

Соответственно, при попытке авторизации в Дизайнере возникает ошибка.

  • Причина: В окне ошибки виден пустой параметр – имя сервера.

  • Решение: Выключить режим «волокон» " (fiber mode \ lightweight pooling) на сервере MSSQL. Чтобы его выключить, необходимо выполнить запрос:
SP_CONFIGURE ’ALLOW UPDATES’, 1
GO
RECONFIGURE WITH OVERRIDE
GO
sp_configure ’show advanced options’, 1
GO
RECONFIGURE WITH OVERRIDE
GO
sp_configure ’lightweight pooling’, 0
GO
RECONFIGURE WITH OVERRIDE
GO

Далее необходимо перезапустить сервер MSSQL и осуществить выдачу прав Администратора сервера MSSQL пользователю системы.

13. Ошибка: Ошибка Инициализации конфигурации ELMA: Версия БД <название версии> не подходит по минимальным требованиям (предоставлена версия – <используемая версия БД>, требуется как минимум <версия БД, необходимая для корректной работы системы ELMA>

14. Ошибка: DbStructure files with the same GUID are found <uid>: <модуль1>;<модуль2> – в модулях системы содержатся xml-преобразования базы данных с одинаковыми uid.

  • Причина: в указанных модулях системы (модуль1, модуль2) содержатся xml-преобразования базы данных с одинаковыми uid.
  • Решение: изменить дублирующийся uid в одном из модулей.