AXForum  
Вернуться   AXForum > Блоги > Заметки по Dynamics Ax от Poleax
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

Рейтинг: 5.00. Голосов: 4.

Разворачиваем Demo для Dynamics Ax 2012 RTM под доменным пользователем

Запись от Poleax размещена 26.10.2011 в 16:28

Захотелось посмотреть Demo Dynamics Ax 2012 RTM и тут началось:
  1. Установил Dynamics Ax 2012 RTM CU1
    Ну это отдельная история, много мата радостей и т.д.
    Два дня "удовольствия", в итоге AOS 2012 на новом виртуальном сервере Windows Server 2008 R2 SP1.

  2. Зашел на страницу к примеру для СustomerSource: Demo Data for Microsoft Dynamics AX 2012 SYS layer ZIP (1,093,390 KB) (Закрытый доступ)
    скачал Demo БД 6.0.947.0-contoso-SYS-RTM.zip
    В документе Restoring RTM 6.0.947.0 Contoso SYS data for Microsoft Dynamics AX.docx все просто Ну, ну...

Создал новую пустую БД, Restore из 6.0.947.0-contoso-SYS-RTM.bak (по инструкции)
Мой AOS 2012 работал под логином доменного юзера с коннектом к БД SQL Server на другом сервере.
Поэтому, конечно AOS не смог сразу подключится к БД и выдал кучу ошибок вида:
  • Имя журнала: Application
    Source: Dynamics Server 01
    Event ID: 117
    Object Server 01: The database reported (session 1 (-AOS-)): [Microsoft][SQL Server Native Client 10.0][SQL Server]The EXECUTE permission was denied on the
    object 'XU_GetSchemaVersion', database 'AXDB_2012Demo', schema 'dbo'.. The SQL statement was: "{ ? = CALL [dbo].[XU_GetSchemaVersion](?, ?) }"

  • Имя журнала: Application
    Source: Dynamics Server 01
    Event ID: 3000
    Object Server 01 : An error situation occurred during synchronization of label files in the model store and the local label files.
    The error reported is: System.Data.SqlClient.SqlException (0x80131904): The EXECUTE permission was denied on the object 'XU_GetSchemaVersion', database 'AXDB_2012Demo', schema 'dbo'.
    at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection)
    at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning()
    at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj)
    at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString)
    at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async)
    at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result)
    at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(DbAsyncResult result, String methodName, Boolean sendToPipe)
    at System.Data.SqlClient.SqlCommand.ExecuteNonQuery()
    at Microsoft.Dynamics.MorphX.LabelSynchronizer.CheckSchemaVersion_Store()
    at Microsoft.Dynamics.MorphX.LabelSynchronizer.Load()
    at LabelSynchronizerImpl.Load(LabelSynchronizerImpl* , SqlLogin* modelLogin).

Для DOMAIN\axaos дал права на БД db_datareader, db_datawriter, db_ddladmin
Но нюанс заключался в том, что надо было настроить права доступа на Stored procedure, Table и View Общим кол-вом 122 шт.

Хм, в Demo БД было преднастроено два таких пользователя NT AUTHORITY\NETWORK SERVICE и REDMOND\DCSRDCONTOSODB1$
Но меня интересовал мой юзер DOMAIN\axaos

Решил перекинуть права доступа от NT AUTHORITY\NETWORK SERVICE к DOMAIN\axaos http://www.sql.ru/forum/actualutils....2&msg=11502846

Запрос генерирует код для выдачи прав доступа. (Запускать в контексте Demo БД 2012)
PHP код:
SELECT 'GRANT ' permission_name ' ON ' OBJECT_NAME(major_id) + ' TO [' 'DOMAIN\axaos' +']'
FROM  sys.database_permissions
where 
class = AND
    
USER_NAME(grantee_principal_id) = 'NT AUTHORITY\NETWORK SERVICE' 
Получился код (122 строки):
PHP код:
..............
GRANT EXECUTE ON XU_GetSchemaVersion TO [DOMAIN\axaos]
GRANT EXECUTE ON XU_AllocateHandle TO [DOMAIN\axaos]
GRANT EXECUTE ON XU_Insert TO [DOMAIN\axaos]
GRANT EXECUTE ON XU_Update TO [DOMAIN\axaos]
.............. 
Выполнил 122 команды И наш юзер DOMAIN\axaos теперь ПОЛНОЦЕННЫЙ.
AOS нормально запустился.

А дальше по инструкции Restoring RTM 6.0.947.0 Contoso SYS data for Microsoft Dynamics AX.docx даем себе админский доступ в UserInfo
PHP код:
update userinfo 
set
    networkdomain 
'YourDomain',
    
networkalias 'YourAlias',
    
SID 'YourSID'
where ID 'Admin' 
P.S. Свой SID узнать очень просто, взять Аксапту где у вас уже есть доступ и выполнить запрос
PHP код:
select SIDNETWORKDOMAINNETWORKALIAS
from USERINFO
where NETWORKALIAS 
'ваш доменный логин' 
Размещено в Без категории
Просмотров 27127 Комментарии 0
Всего комментариев 0

Комментарии

 


Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 02:31.