AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Администрирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 26.09.2016, 22:25   #1  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
ax7db-reset
Консультанту ax7 часто приходится возвращать базу в исходное состояние. Хорошо, когда есть админский доступ к виртуальной машине. А если его нет?
.
Идея очень простая - в самом начале создаем snapshot аксаптовской базы. Не страшась последствий работаем с аксаптой. Если напортачили, восстанавливаем базу из снапшота.
.
Единственное неудобство - для восстановления из снапшота нужно, чтобы не было процессов, которые используют аксаптовскую базу. Вручную постоянно приходится останавливать/запускать. Кроме того, мне не очень нравится килять процессы, когда можно корректно остановить.
.
Сделал несложный командный файл, который:
1. сначала пытается остановить известные services
2. убивает неостановленные процессы из SQL
3. восстанавливает базу из снапшота
4. пытается запустить известные services
.
Скачать, оставить замечания и предложения можно здесь:
https://github.com/mazzy-ax/ax7db-reset

===================
этот же командный файл можно использовать и для предыдущих версий аксапты, если изменить список известных служб, которые нужно остановить и запустить
За это сообщение автора поблагодарили: trud (3), gl00mie (3), DSPIC (2).
Старый 27.09.2016, 10:14   #2  
DSPIC is offline
DSPIC
Боец
 
1,077 / 1234 (44) ++++++++
Регистрация: 11.04.2008
  1. А ты уверен что скрипт будет работать без админского доступа?
  2. Еще бы нужно репозиторий как-то восстановить, одной БД может оказаться недостаточно
  3. Почему CMD вместо PowerShell, на котором построено все администрирование AX7 и вообще, всего остального. PowerShell также содержит в себе всю необходимую оснастку для сервисов AX7, напр.: получить список установленных сервисов, остановить их, запустить и т.п., см. AxUpdateInstaller

В общем, нужно бы пару слов про админский доступ - насколько много его "нет".
Старый 27.09.2016, 12:11   #3  
trud is offline
trud
Участник
Лучший по профессии 2017
 
1,038 / 1629 (57) ++++++++
Регистрация: 07.06.2003
Записей в блоге: 1
Вообще круто подобное сделать кнопками в АХ. типа кнопка - Сохраниться - делает снапшот от имени аоса и Загрузить - запускает файл, который останавливает аос и IIS и делает рестор снапшота.
Думаю сделав такое ты заслужишь бесконечное уважение консультантов и ненависть админов
Старый 27.09.2016, 13:54   #4  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от DSPIC Посмотреть сообщение
А ты уверен что скрипт будет работать без админского доступа?
cmd.exe можно запускать от лица обычного пользователя. проверено.
а вот на винду и на sql должен быть админский доступ, чтобы можно было останавливать/стартовать виндовые службы, килять процессы и выполнять restore.

Цитата:
Сообщение от DSPIC Посмотреть сообщение
Еще бы нужно репозиторий как-то восстановить, одной БД может оказаться недостаточно
В принципе да... Поэтому я и начал свой опус со слов "Консультанту ax7 часто..."

Цитата:
Сообщение от DSPIC Посмотреть сообщение
Почему CMD вместо PowerShell, на котором построено все администрирование AX7 и вообще, всего остального. PowerShell также содержит в себе всю необходимую оснастку для сервисов AX7, напр.: получить список установленных сервисов, остановить их, запустить и т.п., см. AxUpdateInstaller
Крепко думал об этом. И даже начинал с PowerShell.

Но!
Поскольку я начал свой опус со слова "Консультанту", то подумал о том, что консультанты в массе своей PowerShell не знают.

А тут есть хоть небольшой шанс, что консультанты смогут подправить дефолтные имя базы, имя снапшота и список служб...

Да, я двадцать раз проклял про себя это решение - уж слишком много ограничений в cmd. Конечно, было интересно сделать в настолько минималистичной среде... но больше я cmd вряд ли буду использовать. Пусть консультанты знакомятся с PowerShell.

Цитата:
Сообщение от DSPIC Посмотреть сообщение
В общем, нужно бы пару слов про админский доступ - насколько много его "нет".
Command Prompt можно запускать от обычного пользователя )

Цитата:
Сообщение от trud Посмотреть сообщение
...сделать кнопками в АХ. ... Загрузить - запускает файл, который останавливает аос и IIS и делает рестор снапшота.
Думал об этом. Но думал и о предыдущих версиях Аксапты

в Акс7 конечно веб-страницы. И запущенный со страницы файл сможет остановить IIS... Тут конечно надо будет поразбираться с дочерними процессами...

Но в предыдущих версиях такой фокус точно не пройдет. Придется килять Аксапту, запустившую файл. А килять как-то не хочется. Хочется корректно остановить то, что можно корректно остановить.

cmd-файлик достаточно положить на рабочий стол.
закрываешь аксапту и дабл-жамкаешь кнопкой на cmd-файлик.
Старый 27.09.2016, 14:01   #5  
trud is offline
trud
Участник
Лучший по профессии 2017
 
1,038 / 1629 (57) ++++++++
Регистрация: 07.06.2003
Записей в блоге: 1
ну проблема в том что у консультантов как правило то доступа то нет. ни к SQL в случае с 2012, ни к терминалу где стоит SQL в случае с ах7.
ну а че, килять клиента, да. т.е. сообщение - ваш клиент сейчас завершится, запустите через минуту, соответственно на АОСе запускается код, который стопит АОС, архитектура одинакова для 2012 и ах7
Старый 27.09.2016, 14:08   #6  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от trud Посмотреть сообщение
ну проблема в том что у консультантов как правило то доступа то нет. ни к SQL в случае с 2012, ни к терминалу где стоит SQL в случае с ах7.
давай вернемся к исходному вводному утверждению?
Цитата:
Сообщение от mazzy Посмотреть сообщение
Консультанту ax7 часто приходится возвращать базу в исходное состояние.
на той машине, где консультант ставит такие бесчеловечные эксперименты, у консультанта, как правило, есть админский доступ на эту машину и на этот sql.
консультант может не знать ни services.msc, ни SQL Management Studio.
но чтобы консультант был настолько бесправной скотинкой, чтобы ему и на его тестовой машине доступ закрыли... это вряд ли.

понятно, что у консультанта не будет админского доступа на продакт или на общий тест. Но там и ресторить нельзя )


Цитата:
Сообщение от trud Посмотреть сообщение
ну а че, килять клиента, да. т.е. сообщение - ваш клиент сейчас завершится, запустите через минуту, соответственно на АОСе запускается код, который стопит АОС, архитектура одинакова для 2012 и ах7
Велкам. Форк на github приветствуется! )))
Старый 27.09.2016, 15:54   #7  
DSPIC is offline
DSPIC
Боец
 
1,077 / 1234 (44) ++++++++
Регистрация: 11.04.2008
Цитата:
cmd.exe можно запускать от лица обычного пользователя. проверено.
Запускать-то его может и можно, а вот сможет ли службу остановить - не уверен. Сmd.exe обладает одинаковыми правами что и пользователь, запустивший его.
Еще один нюанс - в AX7 чуть ли не ежедневно что-то меняют, скрипты постоянно подкручивать придется - лучше повременить. Но в рамках самообразования - отличный подход.
Старый 27.09.2016, 17:15   #8  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
да, это верно.
но думаю, что список служб уже устоялся.
Старый 27.09.2016, 23:04   #9  
Vadik is offline
Vadik
Модератор
Аватар для Vadik
Лучший по профессии 2017
Лучший по профессии 2015
 
3,631 / 1849 (69) ++++++++
Регистрация: 18.11.2002
Адрес: гражданин Москвы
А непосредственно самой VM сделать снэпшот и откатить не проще ?
__________________
-ТСЯ или -ТЬСЯ ?

Последний раз редактировалось Vadik; 27.09.2016 в 23:22.
За это сообщение автора поблагодарили: trud (1).
Старый 28.09.2016, 08:12   #10  
user_ax is offline
user_ax
Участник
Аватар для user_ax
 
599 / 39 (3) +++
Регистрация: 07.10.2012
Адрес: ZP
Цитата:
Сообщение от Vadik Посмотреть сообщение
А непосредственно самой VM сделать снэпшот и откатить не проще ?
Проще, но места будет немного больше, нежели для базы , я полагаю.
Старый 28.09.2016, 10:06   #11  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от Vadik Посмотреть сообщение
А непосредственно самой VM сделать снэпшот и откатить не проще ?
тут два момента:
1.
чтобы сделать spanshot виртуалки и откатить - нужен админский доступ на хост виртуалок. А вот туда у консультантов доступа как правило и нет.

2.
я хостил свои виртуалки на своей машине.
дело в том, что акс7 виртуалка работает в ажурном домене, сволочь.
и было все хорошо пока домен не захотел сменить пароль зарегистрированного в домене компьютера.
восстановление из контрольной точки после смены пароля привел к
https://support.microsoft.com/en-us/kb/2771040
«The trust relationship between this workstation and the primary domain failed»

да, я таки нашел пароль локального админа, но перерегистрировать комп в домене не получилось.

в общем, если виртуалка в чужом невиртуальном домене,
то возврат из контрольной точки может привести к невозможности работы с виртуалкой.
Старый 28.09.2016, 10:09   #12  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от user_ax Посмотреть сообщение
Проще, но места будет немного больше, нежели для базы , я полагаю.
не, не больше. снапшот самих виртуалок намного удобнее, конечно.
только если контролер домена на той же вируталке.
ну и есть админский доступ к компу, который хостит виртуалки.

Последний раз редактировалось mazzy; 28.09.2016 в 10:22.
Старый 28.09.2016, 12:54   #13  
Kasper is offline
Kasper
Участник
 
34 / 19 (1) ++
Регистрация: 30.11.2005
Цитата:
Сообщение от mazzy Посмотреть сообщение
в общем, если виртуалка в чужом невиртуальном домене,
то возврат из контрольной точки может привести к невозможности работы с виртуалкой.
Эту проблему можно решить -- надо запретить компьютеру (виртуалке) периодически менять свой пароль в домене

Делается это так
1) Создается групповая политика. Надо распространить эту политику не на все компьютеры, а только на одну виртуалку
2) В политике делается настройка
https://technet.microsoft.com/en-us/...(v=ws.11).aspx
3) Перегружаемся один раз

Всё. Теперь комп не меняет свой пароль в домене и можно возвращаться к снапшотам легко
Это повлияет только на те снапшоты ВМ, которые сделаны после применения ГП
Старый 28.09.2016, 13:30   #14  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от Kasper Посмотреть сообщение
Делается это так
1) Создается групповая политика. Надо распространить эту политику не на все компьютеры, а только на одну виртуалку
Где создается групповая политика? в Ажурном домене?
я читал эту статью.
Старый 28.09.2016, 22:01   #15  
Kasper is offline
Kasper
Участник
 
34 / 19 (1) ++
Регистрация: 30.11.2005
Цитата:
Сообщение от mazzy Посмотреть сообщение
Где создается групповая политика? в Ажурном домене?
Сергей, я с AX7 и ажурными доменами не работал, могу только делать предположения.
Вот в этой статье написано, что GP может быть доступно в Ажурном домене.
https://azure.microsoft.com/en-us/do...y-ds-overview/
Как именно это сделать -- это ты работаешь в МС

Но и обычные рассуждения подсказывают -- компы в ажурном домене должны как-то управляться централизованно. Надо поискать возможность настройки GP
Или ажурный домен нужен только для аутентификации ? Вряд-ли

Так или нет ?
Старый 29.09.2016, 09:50   #16  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от Kasper Посмотреть сообщение
Вот в этой статье написано, что GP может быть доступно в Ажурном домене.
https://azure.microsoft.com/en-us/do...y-ds-overview/
Как именно это сделать -- это ты работаешь в МС
Это я тоже читал )

как именно сделать? дык, я уже сделал
Цитата:
Сообщение от mazzy Посмотреть сообщение
Идея очень простая - в самом начале создаем snapshot аксаптовской базы. Не страшась последствий работаем с аксаптой. Если напортачили, восстанавливаем базу из снапшота.
...
Скачать, оставить замечания и предложения можно здесь:
https://github.com/mazzy-ax/ax7db-reset
Для тех, кто в танке в майкрософте:
в МС freebird-виртуальная машина УЖЕ содержит снапшот базы )
тем, кто работает с фрибердовскими машинами даже делать снапшот не надо, можно восстанавливать из уже существующего в деплое
Старый 05.10.2016, 14:25   #17  
Vadik is offline
Vadik
Модератор
Аватар для Vadik
Лучший по профессии 2017
Лучший по профессии 2015
 
3,631 / 1849 (69) ++++++++
Регистрация: 18.11.2002
Адрес: гражданин Москвы
Цитата:
Сообщение от mazzy Посмотреть сообщение
Для тех, кто в танке в майкрософте:
в МС freebird-виртуальная машина УЖЕ содержит снапшот базы )
Думаешь, это может быть как-то связано с штатным скриптом в Add-ins ?
Изображения
 
__________________
-ТСЯ или -ТЬСЯ ?
За это сообщение автора поблагодарили: mazzy (5).
Старый 05.10.2016, 14:45   #18  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от Vadik Посмотреть сообщение
Думаешь, это может быть как-то связано с штатным скриптом в Add-ins ?
о, как интересно.
думаю, что идея та же самая.
думаю, что они просто киляют все процессы, не выполняя нормальную остановку

не знаю как такие штуки делать.
Старый 05.10.2016, 15:38   #19  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от Vadik Посмотреть сообщение
Думаешь, это может быть как-то связано с штатным скриптом в Add-ins ?
кстати, эта штука появляется только после enlisment'а и после работы nuGet.
в чистой фрибердовской машине этого нет.
Теги
ax7, законченный пример

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
bojensen: Reset program cache file for all clients | Thomas Widmer’s AX Blog Blog bot DAX Blogs 0 17.04.2015 16:11
bojensen: Reset program cache file for all clients | Thomas Widmer’s AX Blog Blog bot DAX Blogs 0 10.12.2014 13:11
dax-lessons: Get the underlying SSRS Report Query, reset query , add your own ranges and execute report [Dynamics AX 2012, X++] Blog bot DAX Blogs 0 30.04.2013 01:13
workflowax: Reset Delegate Due Date Blog bot DAX Blogs 0 17.06.2010 15:05
SysQueryForm "Reset" Button paucer DAX: Программирование 1 29.12.2003 10:49
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 23:51.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.