Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Получение копии БД в другой БД  [new]
nnik
Member

Откуда:
Сообщений: 2
Помогите, пожалуйста, начинающему.
Нужно создать копию базы BASE1 в базе BASE2.
Создаю в ЕМ в разделе SQL Server Agent задание из двух шагов:
шаг1: BACKUP DATABASE BASE1 TO DISK='H:\BASE1.BAK'
шаг2: RESTORE DATABASE BASE2 FROM DISK='H:\BASE1.BAK'
WITH MOVE 'BASE1' TO 'H:\BASE2\BASE2_Data.mdf',
MOVE 'BASE1_Log' TO 'H:\BASE2\BASE2_Log.Ldf',
REPLACE
Запускаю задание на выполнение. Первый шаг выполняется успешно.
Второй - выдает ошибку: "Exclusive access could not be obtained because
the database is in use [SQLSTATE 42000](Error 3101). Restore database is
terminating abnormally. The step failed."
Подскажите, как поправить задание, чтобы второй шаг запускался?
28 июл 05, 10:43    [1742405]     Ответить | Цитировать Сообщить модератору
 Re: Получение копии БД в другой БД  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74925
USE master
GO
RESTORE DATABASE ...

Но все равно с базой BASE2 никто не должен работать.
28 июл 05, 10:55    [1742467]     Ответить | Цитировать Сообщить модератору
 Re: Получение копии БД в другой БД  [new]
nnik
Member

Откуда:
Сообщений: 2
Большое спасибо за внимание и совет.
Изменил шаг 2. Теперь он выглядит так:
USE MASTER
GO
RESTORE FILELISTONLY FROM DISK='H:\BASE1.bak'
GO
RESTORE DATABASE BASE2 FROM DISK='H:\BASE1.bak'
WITH MOVE 'BASE1' TO 'H:\BASE2.mdf',
MOVE 'BASE1_Log' TO 'H:\BASE2.ldf',
REPLACE
GO

Получил ошибку с диагностикой:

Logical file 'BASE1' is not part of database 'BASE2'. Use RESTORE FILELISTONLY to list the logical file names. [SQLSTATE 42000] (Error 3234) RESTORE DATABASE is terminating abnormally. [SQLSTATE 42000] (Error 3013). The step failed.

Пожалуйста, посоветуйте, что надо изменить в задании?
29 июл 05, 13:20    [1747601]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить