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

Откуда:
Сообщений: 8
При восстановлении базы из rtu.bak выводится сообщение об ошибке:

автор
System.Data.SqlClient.SqlError: Файл "D:\DB\rtu.mdf" затребован "rt_2"(3) и "rt"(1).
Для перемещения одного или нескольких файлов можно использовать предложение WITH MOVE. (Microsoft.SqlServer.Smo)


Подскажите пожалуйста что это значит и как с этим быть?
9 сен 11, 10:23    [11251971]     Ответить | Цитировать Сообщить модератору
 Re: Восстановление базы из .bak  [new]
komrad
Member

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

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

Для указания нового пути сиквел рекомендует использовать WITH MOVE в команде восстановления
9 сен 11, 10:25    [11251983]     Ответить | Цитировать Сообщить модератору
 Re: Восстановление базы из .bak  [new]
Micle77
Member

Откуда:
Сообщений: 8
Бэкап разворачиваю на другой машине. Восстанавливаю через форму восстановления базы из менеджмент студии:
- в этой форме можно задать параметры галками (с заменой и др.), но нет параметра WITH MOVE.
- пути указываю для восстановления такие же как и у файла .bak, т.е. восстанавливаю в то же место где лежит .bak (D:\DB\)
9 сен 11, 10:34    [11252049]     Ответить | Цитировать Сообщить модератору
 Re: Восстановление базы из .bak  [new]
Glory
Member

Откуда:
Сообщений: 104751
Micle77
но нет параметра WITH MOVE.

есть же пути и имена файлов в диалоге
9 сен 11, 11:05    [11252298]     Ответить | Цитировать Сообщить модератору
 Re: Восстановление базы из .bak  [new]
komrad
Member

Откуда:
Сообщений: 5910
Micle77
Бэкап разворачиваю на другой машине. Восстанавливаю через форму восстановления базы из менеджмент студии:
- в этой форме можно задать параметры галками (с заменой и др.), но нет параметра WITH MOVE.
- пути указываю для восстановления такие же как и у файла .bak, т.е. восстанавливаю в то же место где лежит .bak (D:\DB\)


покажи результат:

restore filelistonly from disk='c:\АРХИВ.bak'
9 сен 11, 11:09    [11252326]     Ответить | Цитировать Сообщить модератору
 Re: Восстановление базы из .bak  [new]
Александр Спелицин
Member

Откуда: Из ближайшего подмосковья.
Сообщений: 2519
Micle77
Бэкап разворачиваю на другой машине. Восстанавливаю через форму восстановления базы из менеджмент студии:
- в этой форме можно задать параметры галками (с заменой и др.), но нет параметра WITH MOVE.
- пути указываю для восстановления такие же как и у файла .bak, т.е. восстанавливаю в то же место где лежит .bak (D:\DB\)

Восстанавливайте руками, т.е. через команду restore database. И там указывайте параметр WITH MOVE. Подробности в BOL. Тамже есть и пример команды для Вашего случая.
9 сен 11, 11:14    [11252375]     Ответить | Цитировать Сообщить модератору
 Re: Восстановление базы из .bak  [new]
Micle77
Member

Откуда:
Сообщений: 8
Glory
есть же пути и имена файлов в диалоге

В диалоге пути указал такие же как и у файла .bak
komrad
покажи результат: restore filelistonly from disk='c:\АРХИВ.bak'

rt	D:\MSSQL10.MSSQLSERVER\MSSQL\DATA\rtu_VLD.mdf	D	PRIMARY	3060793344	35184372080640	1	0	0	5D82520B-C921-42C0-8D55-5B9AC4D24E09	0	0	3051487232	512	1	NULL	36080000000418100183	0B0C3E6D-DE09-42CC-AD39-5F79902598B3	0	1	NULL

rt_2 D:\MSSQL10.MSSQLSERVER\MSSQL\DATA\rtu_VLD_2.mdf D SECONDARY 66060288 35184372080640 3 101000000032500001 0 7D2D6F07-1C31-4A35-92A3-3714DF592A0B 0 0 60227584 512 2 NULL 36080000000418100183 0B0C3E6D-DE09-42CC-AD39-5F79902598B3 0 1 NULL

rt_log D:\MSSQL10.MSSQLSERVER\MSSQL\DATA\rtu_VLD_1.ldf L NULL 361693184 2199023255552 2 0 0 F9F314EC-BBFD-423C-92E0-F28413A10E5E 0 0 0 512 0 NULL 0 00000000-0000-0000-0000-000000000000 0 1 NULL
9 сен 11, 23:32    [11257377]     Ответить | Цитировать Сообщить модератору
 Re: Восстановление базы из .bak  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 32173
Micle77
В диалоге пути указал такие же как и у файла .bak
Для всех трёх файлов?
10 сен 11, 11:04    [11257975]     Ответить | Цитировать Сообщить модератору
 Re: Восстановление базы из .bak  [new]
komrad
Member

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

restore database rt
from disk='D:\DB\АРХИВ.bak'
with replace,
move 'rt' to 'D:\DB\rt_data01.mdf',
move 'rt_2' to 'D:\DB\rt_data02.mdf',
move 'rt_log' to 'D:\DB\rt_log.ldf',
stats=1
10 сен 11, 14:19    [11258222]     Ответить | Цитировать Сообщить модератору
 Re: Восстановление базы из .bak  [new]
Glory
Member

Откуда:
Сообщений: 104751
Micle77
Glory
есть же пути и имена файлов в диалоге

В диалоге пути указал такие же как и у файла .bak

там надо указать пути, куда вы хотите разместить ваши файлы
10 сен 11, 17:13    [11258543]     Ответить | Цитировать Сообщить модератору
 Re: Восстановление базы из .bak  [new]
Micle77
Member

Откуда:
Сообщений: 8
komrad, СПАСИБО!
10 сен 11, 19:21    [11258808]     Ответить | Цитировать Сообщить модератору
Между сообщениями интервал более 1 года.
 Re: Восстановление базы из .bak  [new]
slogic
Member

Откуда: Брянск
Сообщений: 47
Я хотел бы дать доп. пояснения. В моем случае WITH MOVE стоял (если сгенерить SQL сценарий). Но все равно писалось о
том, что надо использовать WITH MOVE. Оказывается, студия подставила для N файлов из бэкапа единственный файл на диске. Пока не указал для каждого файла отдельный файл на диске, не работало.
22 июн 14, 18:18    [16202945]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить