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

Откуда:
Сообщений: 28
set @BACKUPDataBaseName = 'C2H5OH'
set @RESTOREDataBaseName = 'C2H5OH_TEST'
set @BackupFileName = 'D:\SQL_Data\BACKUP\C2H5OH.bak'

BACKUP DATABASE @BACKUPDataBaseName
TO DISK = @BackupFileName


RESTORE DATABASE @RESTOREDataBaseName
FROM DISK =@BackupFileName
with move 'C2H5OH' to 'D:\SQL_Data\C2H5OH_TEST.mdf',
move 'C2H5OH_log' to 'D:\SQL_Data\C2H5OH_TEST_log.ldf'


пишет :
Резервный набор данных содержит копию базы данных, отличной от существующей базы данных "C2H5OH_TEST".
20 июн 17, 14:57    [20577687]     Ответить | Цитировать Сообщить модератору
 Re: Не могу сделать копию базы в другую базу на том же сервере MS SQL 2008  [new]
dvim
Member

Откуда: Санкт Петербург
Сообщений: 679
RESTORE ... WITH REPLACE
Должно помочь
20 июн 17, 15:05    [20577723]     Ответить | Цитировать Сообщить модератору
 Re: Не могу сделать копию базы в другую базу на том же сервере MS SQL 2008  [new]
bvb4
Member

Откуда:
Сообщений: 28
Еще хуже :


Файл "d:\SQL_DATA\C2H5OH.mdf" заменить невозможно. Он используется базой данных "C2H5OH".

Невозможно восстановить файл "C2H5OH" в "d:\SQL_DATA\C2H5OH.mdf". Используйте WITH MOVE для определения допустимого местоположения файла.

Файл "d:\SQL_DATA\C2H5OH_log.LDF" заменить невозможно. Он используется базой данных "C2H5OH".

Невозможно восстановить файл "C2H5OH_log" в "d:\SQL_DATA\C2H5OH_log.LDF". Используйте WITH MOVE для определения допустимого местоположения файла.
20 июн 17, 15:10    [20577751]     Ответить | Цитировать Сообщить модератору
 Re: Не могу сделать копию базы в другую базу на том же сервере MS SQL 2008  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 30801
bvb4
Еще хуже :


Файл "d:\SQL_DATA\C2H5OH.mdf" заменить невозможно. Он используется базой данных "C2H5OH".

Невозможно восстановить файл "C2H5OH" в "d:\SQL_DATA\C2H5OH.mdf". Используйте WITH MOVE для определения допустимого местоположения файла.

Файл "d:\SQL_DATA\C2H5OH_log.LDF" заменить невозможно. Он используется базой данных "C2H5OH".

Невозможно восстановить файл "C2H5OH_log" в "d:\SQL_DATA\C2H5OH_log.LDF". Используйте WITH MOVE для определения допустимого местоположения файла.
Значит, забыли MOVE написать.
21 июн 17, 01:26    [20579113]     Ответить | Цитировать Сообщить модератору
 Re: Не могу сделать копию базы в другую базу на том же сервере MS SQL 2008  [new]
bvb4
Member

Откуда:
Сообщений: 28
Скрипт поправил :

set @BackupFileName = 'D:\SQL_Data\BACKUP\C2H5OH.bak'
BACKUP DATABASE @BACKUPDataBaseName
TO DISK = @BackupFileName

RESTORE DATABASE @RESTOREDataBaseName
FROM DISK =@BackupFileName
WITH FILE = 2,
move 'C2H5OH' to 'D:\SQL_Data\C2H5OH_TEST.mdf',
move 'C2H5OH_log' to 'D:\SQL_Data\C2H5OH_TEST_log.ldf',
NOUNLOAD,
REPLACE,
STATS = 5

Отрабатывает .....

Но инфа копируется какая то старая - не срез базы на текущую дату
21 июн 17, 13:33    [20580466]     Ответить | Цитировать Сообщить модератору
 Re: Не могу сделать копию базы в другую базу на том же сервере MS SQL 2008  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 36695
Это просто не "инфа старая копируется", а кто-то сдела кучу бэкапов в один файл и не тот бэкап из файла бэкапа восстанавливает.
21 июн 17, 13:41    [20580505]     Ответить | Цитировать Сообщить модератору
 Re: Не могу сделать копию базы в другую базу на том же сервере MS SQL 2008  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 30801
bvb4
Скрипт поправил :

set @BackupFileName = 'D:\SQL_Data\BACKUP\C2H5OH.bak'
BACKUP DATABASE @BACKUPDataBaseName
TO DISK = @BackupFileName

RESTORE DATABASE @RESTOREDataBaseName
FROM DISK =@BackupFileName
WITH FILE = 2,
move 'C2H5OH' to 'D:\SQL_Data\C2H5OH_TEST.mdf',
move 'C2H5OH_log' to 'D:\SQL_Data\C2H5OH_TEST_log.ldf',
NOUNLOAD,
REPLACE,
STATS = 5

Отрабатывает .....

Но инфа копируется какая то старая - не срез базы на текущую дату

WITH FILE = 2, - это вы думаете, что делает? Зачем вы вообще эту опцию добавили?

WITH FILE = 2 указывает, что восстанавливать нужно второй бакап из списка бакапов.

А команда BACKUP DATABASE без указания WITH INIT добавляет очередной бакап в файл
21 июн 17, 14:21    [20580667]     Ответить | Цитировать Сообщить модератору
 Re: Не могу сделать копию базы в другую базу на том же сервере MS SQL 2008  [new]
bideveloper
Member

Откуда:
Сообщений: 484
bvb4,

Вы вручную скрипт пишете? В SSMS можно в диалоге создания/восстановления бэкапа выбрать нужные параметры и нажать кнопку сгенерировать скрипт.
21 июн 17, 16:21    [20581130]     Ответить | Цитировать Сообщить модератору
 Re: Не могу сделать копию базы в другую базу на том же сервере MS SQL 2008  [new]
DRIVER-tj
Guest
bvb4,

галка перезапись
23 июн 17, 14:04    [20586065]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить