Типичные ошибки запуска сервера и способы их устранения
В этой статье мы рассмотрим часто встречающиеся ошибки и методы их устранения.
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. Ошибка: При работе с веб-частью отображается всплывающее окно с ошибкой Не пройдена проверка предусловий запуска.
Соответственно, при попытке авторизации в Дизайнере возникает ошибка.
- Причина: В окне ошибки виден пустой параметр – имя сервера.
- Решение: подключиться к серверу MSSQL от имени администратора и выполнить правильный SQL-запрос:
EXEC sp_dropserver N'elma-local-loop'
GO
EXEC sp_addlinkedserver N'elma-local-loop', N' ', N'SQLNCLI', N'localhost\SQLSERVER2014'
GO
EXEC sp_serveroption [elma-local-loop], N'remote proc transaction promotion', 'false'
EXEC sp_serveroption [elma-local-loop], N'rpc out', 'true'
GO
где localhost\SQLSERVER2014 – имя сервера базы данных.
Чтобы убедиться, что ошибка исправлена, нужно выполнить запрос:
select * from sys.servers where lower([name]) = 'elma-local-loop'
Результат будет выглядеть следующим образом:
13. Ошибка: Ошибка Инициализации конфигурации ELMA: Версия БД <название версии> не подходит по минимальным требованиям (предоставлена версия – <используемая версия БД>, требуется как минимум <версия БД, необходимая для корректной работы системы ELMA>
- Причина: версия используемой базы данных не подходит по минимальным системным требованиям для используемой редакции системы ELMA.
- Решение: необходимо обновить версию используемой базы данных до соответствующей минимальным системным требованиям для используемой редакции системы ELMA.
14. Ошибка: DbStructure files with the same GUID are found <uid>: <модуль1>;<модуль2> – в модулях системы содержатся xml-преобразования базы данных с одинаковыми uid.
- Причина: в указанных модулях системы (модуль1, модуль2) содержатся xml-преобразования базы данных с одинаковыми uid.
- Решение: изменить дублирующийся uid в одном из модулей.