Проблемы
При попытке запустить сервер application Object Server (AOS) для Microsoft Dynamics AX 4.0 AOS не запустится. Кроме того, вы получаете одно из следующих сообщений об ошибках:
Ошибка 100. Не удается создать другой системный семафор.
Object Server 01: диалоговое окно, выданное для сеанса без клиента 1. Программа не может загрузить и выполнить класс 'SqlDatabaseInit', необходимый для определения поставщика базы данных и загрузки соответствующих системных SQL переменных. Это может быть вызвано недостаточной доступностью База данных SQL, отсутствием или поврежденным файлом приложения или синтаксисными ошибками в самом классе.
Причина
Эта проблема может возникать из-за нескольких различных условий. Чтобы определить конкретную причину сообщения об ошибке, рекомендуем поискать более содержательное сообщение об ошибке в журнале приложений. Для этого выполните следующие действия:
-
Нажмите кнопкуНачните, найдите пункт Все программы,найдите пункт Средстваадминистрирования и щелкните Просмотр событий.
-
В области Просмотр событий (локальный)щелкните Приложение.
-
Прокрутите список сообщений вниз в области справа, чтобы найти сообщение об ошибке.
-
Дважды щелкните сообщение об ошибке, чтобы определить, относится ли сообщение к вашей ситуации.
Сообщение об ошибке может указывать на то, что одно или несколько из следующих условий истинны:
-
Служба Microsoft SQL Server не запущена.
-
Учетная запись, которая используется для запуска AOS, не имеет правильных ролей базы данных в SQL Server.
-
Превышено количество лицензий на AOS.
-
Порядок SQL Server базы данных неправильно с чувствительностью к делу.
Примечание. Этот список содержит известные причины возникновения этой ошибки. Могут быть и другие причины.
Решение
Чтобы устранить эту проблему после проверки того, что к вашей ситуации относится определенное сообщение об ошибке, при необходимости используйте один из следующих способов.
Примечание. Для устранения этой проблемы может потребоваться использовать несколько способов.
Способ 1. Запуск SQL Server службы
AOS зависит от того, SQL Server запущена служба. Если служба SQL Server не запущена, AOS не запустится.
В соответствии с используемой версией SQL Server одной из следующих процедур.
Microsoft SQL Server 2000 г.
Чтобы запустить службу SQL Server 2000, выполните следующие действия:
-
Нажмите кнопкуНачните, найдите пункт Все программы,найдите пункт Средстваадминистрирования и щелкните Службы.
-
Найдите службу MSSQLServer.
-
Если служба не запущена, щелкните ее правой кнопкой мыши и выберите Начните.
Microsoft SQL Server 2005
Чтобы запустить службу SQL Server 2005, выполните следующие действия:
-
Нажмите кнопкуНачните, найдите пункт Все программы,найдите пункт Средстваадминистрирования и щелкните Службы.
-
Найдите SQL Server (MSSQLServer).
-
Если служба не запущена, щелкните ее правой кнопкой мыши и выберите Начните.
Способ 2. Убедитесь, что учетная запись, которая используется для запуска AOS, имеет правильные роли базы данных в SQL Server
Учетной записи, которая используется для запуска службы AOS, должны быть назначены по крайней мере следующие роли базы данных в SQL Server:
-
Db_ddladmin
-
db_datareader
-
db_datawriter
Чтобы определить, есть ли у учетной записи правильные роли в базе данных, выполните указанные здесь действия.
-
Определите учетную запись, которая используется для запуска службы AOS. Для этого выполните следующие действия:
-
Нажмите кнопкуНачните, найдите пункт Все программы,найдите пункт Средстваадминистрирования и щелкните Службы.
-
Найдите службу, которая начинается с Dynamics Server$.
-
Щелкните службу правой кнопкой мыши и выберите свойства.
-
Откройте вкладку Вход в систему.
-
В поле Войти какопределите учетную запись, которая используется для входа в службу AOS.
Заметки-
По умолчанию для входа в службу AOS используется учетная запись NT Authority\Network Service.
-
Если служба AOS находится на том же компьютере, что и SQL Server, для нее требуются разрешения SQL Server NT Authority\Network Service.
-
Если служба AOS работает на отдельном компьютере SQL Server, то учетная запись, для которой требуются разрешения SQL-сервера, — это имя компьютера, на котором работает служба AOS. Формат имени компьютера:
домен\computer_name$.В этом случае домен — это имя сетевого домена, а computer_name$ — имя сервера AOS.
-
-
-
При необходимости используйте одну из следующих процедур для SQL Server запущенной версии.
SQL Server 2000 для SQL Server 2000:
-
Нажмите кнопкуНачните, найдитепункт Все программы , на Microsoft SQL Server инажмите кнопку Enterprise Диспетчер.
-
Разверять microsoft SQL Servers.
-
Раз SQL Server группу.
-
Развернуть (локальный) (Windows NT).
-
Разорите безопасность.
-
Нажмите кнопку Вход.
-
Щелкните правой кнопкой мыши учетную запись, которую вы определили на шаге 1, и выберитесвойства .
-
Перейдите на вкладку Доступ к базе данных.
-
Щелкните базу данных Axapta и убедитесь, что выбраны следующие роли базы данных:
-
Db_ddladmin
-
db_datareader
-
db_datawriter
-
-
Нажмите кнопку ОК.
-
Развернуть базы данных.
-
Разорите базу данных Dynamics.
-
Щелкните Хранимыепроцедуры и найдите следующие хранимые процедуры:
-
createserversessions
-
createusersessions
-
-
Щелкните хранимую процедуру правой кнопкой мыши и выберитесвойства .
-
Нажмите кнопку Разрешения.
-
Найдите учетную запись, которую вы определили на шаге 1, щелкните, чтобы установить поле EXEC, и нажмите кнопку ОК.
Примечание Повторите шаги 2n–2p для другой хранимой процедуры на шаге 2m.
SQL Server 2005 для SQL Server 2005:
-
Нажмите кнопкуНачните, выберитепункты Все программы , Microsoft SQL Server 2005и нажмите кнопкуSQL Server Management Studio .
-
На вкладке Сводка дважды щелкните Безопасность.
-
Дважды щелкните "Вход".
-
Щелкните правой кнопкой мыши учетную запись, которую вы определили на шаге 1, и выберитесвойства .
-
Щелкните Сопоставление пользователей.
-
Щелкните базу данных Axapta и убедитесь, что выбраны следующие роли базы данных:
-
Db_ddladmin
-
db_datareader
-
db_datawriter
-
-
Нажмите кнопку ОК.
-
Развернуть базы данных.
-
Разорите базу данных Dynamics.
-
Разорите программируемость.
-
Разорите хранимые процедуры.
-
Найдите следующие хранимые процедуры:
-
createserversessions
-
createusersessions
-
-
Щелкните хранимую процедуру правой кнопкой мыши и выберитесвойства .
-
Нажмите кнопку Разрешения.
-
Найдите учетную запись, которую вы определили в шаге 1, щелкните, чтобы установить поле Предоставить для разрешения EXEC, а затем нажмите кнопку ОК.
Примечание. Повторите шаги 2m–2o для другой хранимой процедуры на шаге 2l.
-
Способ 3. Определение превышения количества лицензий AOS
Чтобы определить, превышается ли количество лицензий на AOSs, выполните следующие действия:
-
Запустите Microsoft Dynamics AX 4.0 и войдите в систему.
-
Щелкните Администрирование.
-
Разорите настройки.
-
Разверните узел Система.
-
Щелкните Сведения о лицензии.
-
На вкладке Система в области Описание кода выберите Серверы объектов приложения.
-
В столбце Состояние обратите внимание на количество лицензий на AOSs, на которые у вас есть лицензия.
Примечание Чтобы запустить еще один AOS, вы можете закрыть запущенную AOS. Кроме того, вы можете приобрести дополнительные лицензии AOS.
Способ 4. Убедитесь, что SQL Server сортировки базы данных безналично
В Microsoft Dynamics AX 4.0 порядок сортировки для базы данных должен иметь неохваченный вид.
Чтобы определить порядок сортировки в вашей ситуации, следуйте одной из следующих процедур, которая подходит SQL Server вашей версии.
Microsoft SQL Server 2000 г.
В Microsoft SQL Server 2000:
-
Нажмите кнопкуНачните, найдитепункт Все программы, на Microsoft SQL Server инажмите кнопку Анализатор запросов.
-
Войдите в анализатор запросов и запустите следующий сценарий:
sp_helpsort
Microsoft SQL Server 2005
В Microsoft SQL Server 2005 г. выполните следующие действия:
-
Нажмите кнопкуНачните, выберитепункты Все программы , Microsoft SQL Server 2005и нажмите кнопкуSQL Server Management Studio .
-
Нажмите кнопку Новыйзапрос и запустите следующий сценарий:
sp_helpsort
В списке результатов сценария должен быть список с описанием "безналицензионный" или "с чувствительностью к делу".