Показать сообщение отдельно
Старый 28.11.2001, 13:26   #1  
Maxim Gorbunov is offline
Maxim Gorbunov
Administrator
Соотечественники
Лучший по профессии 2009
 
2,483 / 645 (26) +++++++
Регистрация: 27.11.2001
Адрес: Dubai, UAE
Создание точной копии БД для анализа ошибок
Часто приходится создавать точную копию базы данных, полученную не средствами Navison Axapta, а средствами MS SQL Server. Например, это бывает необходимо для анализа ошибок.

Мы используем такой порядок:[list][*]Создание Backup рабочей БД.[*]Восстановление Backup рабочей БД в новой БД.[*]Смена владельца всех таблиц Navision Axapta в новой БД при помощи скрипта, запущенного от dbo:
Код:
-----------------------
-- Скрипт меняет владельца всех объектов в БД, принадлежащих axwork на axtest
-- Запускать нужно от dbo
----- BEGIN OF SCRIPT ------------------
declare @uid_from int, @name varchar(1000);

select @uid_from = uid from sysusers where name = 'axwork';
DECLARE CT CURSOR FOR select 'axwork.'+name from sysobjects where uid = @uid_from and xtype = 'U';

OPEN CT
WHILE 1=1 
begin
   FETCH FROM CT INTO @Name
   IF @@fetch_status=-1 
      BREAK;
   IF @@fetch_status=-2
      CONTINUE;
   exec sp_changeobjectowner @name, 'axtest';
   PRINT @Name;
end;

DEALLOCATE CT
--------- END OF SCRIPT ----------