Показать сообщение отдельно
Старый 02.09.2015, 12:02   #8  
gl00mie is offline
gl00mie
Участник
MCBMSS
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,684 / 5788 (200) ++++++++++
Регистрация: 28.11.2005
Адрес: Москва
Записей в блоге: 3
Цитата:
Сообщение от syl Посмотреть сообщение
По сути нужно сделать клон AX 2012, пытаюсь экспортировать весь АОТ стандартными средствами. Подскажите варианты как еще можно его перенести (нужно перенести именно всю структуру и изменения, доступа к самому серверу нету)
Цитата:
Сообщение от gl00mie Посмотреть сообщение
Самый простой и быстрый вариант - сделать резервную копию базы модели и восстановить из нее базу в другом месте и/или под другим именем средствами СУБД. В принципе это можно реализовать без непосредственного доступа к СУБД - выполнить соотв. запрос backup database из джобика, но для этого надо знать, в какой каталог из доступных вам СУБД имеет доступ на запись, чтобы резервную копию базы модели сделать именно в этот каталог.
Цитата:
Сообщение от syl Посмотреть сообщение
Есть тестовый сервер на который нужно перенести модель, но аксапта тупо вешается при попытке экспорта...
Разумеется, Аксапта будет вешаться при попытке экспортировать АОТ в текстовый файл: база модели занимает обычно 5-7 Гб, так что если соот. бинарные метаданные выгружать в текстовый XPO, то любая программа повесится.
Вам было предложено решение, в чем проблема им воспользоваться? Идете в Администрирование системы/Запросы/База данных/Информация базы данных, смотрите название БД, допустим, это "AX2012", значит, база модели называется "AX2012_model". Создаете у себя или еще где сетевую шару с доступом для Everyone на изменение, создаете джоб следующего содержания (параметр DISK должен указывать на вашу шару):
X++:
str sql = @"BACKUP DATABASE [AX2012_model] TO DISK=N'\\mywks\share\AX2012_model.bak' WITH COPY_ONLY, NOFORMAT, NOINIT, NAME=N'Full DB Backup', SKIP, NOREWIND, NOUNLOAD";
;
if (!isRunningOnServer()) throw error("Нефиг");
new SqlStatementExecutePermission(sql).assert();
new Connection().createStatement().executeUpdate(sql);
Создаете пункт меню для запуска джоба и указываете в нем RunOn = Server, запускаете пункт меню - через пару минут в вашей сетевой шаре лежит резервная копия базы модели, далее восстанавливаете из нее приложение в другом месте. Profit!
За это сообщение автора поблагодарили: Link (1), Jorj (1).