Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 the backup set holds a backup of a database other than the existing database  [new]
kyrgyzbala
Member

Откуда:
Сообщений: 13
Доброго времени суток всем.

Есть такая проблема, может кто сталкивался. Буду признателен если поможете.

Есть приложение, которое создает базу под себя. (SQL Server 2008 R2).
База создается в виде двух файловых групп, (PRIMARY и PHOTOS). И находится в FULL recovery mode.

Приложение умеет делать бэкапы с и без файловой группы PHOTOS. Когда исключает эту файловуя группу из бэкапа, работает следующий код:

 BACKUP DATABASE test1 FILEGROUP= 'PRIMARY' 
TO DISK= 'C:\test1.bak'
WITH FORMAT

Потом, этот бэкап восстанавливается так:
RESTORE DATABASE test1 FROM DISK = 'C:\test1.bak'
WITH REPLACE, PARTIAL,
MOVE 'test1' TO '[path]\test1.mdf', 
MOVE 'test1_log' TO '[path]\test1.ldf'

Все работает замечательно. Как и ожидалось.
НО! Допустим я создал еще одну базу test2 и соостветственно бэкап от нее test2.bak.
Тогда, test1.bak не восстанавливается на test2, и точно так же test2.bak не восстанавливается на test1. Вышеупомянутый код для восстонавления дает ошибку в заголовке поста.

Получается, если с базы бэкап был снят без этой фалйоловй группы, то его уже нигде не восстановишь, кроме той базы, с которого он был снят.

Но, при этом, если в бэкапе присутствуют все файловые группы, то восстанавливается куда угодно и без проблем со следуюшим кодом:

RESTORE DATABASE test1 FROM DISK = 'C:\test1.bak'
WITH REPLACE,
MOVE 'test1' TO '[path]\test1.mdf', 
MOVE 'PHOTOS' TO '[path]\test1_PHOTOS.mdf,
MOVE 'test1_log' TO '[path]\test1.ldf'

Во всех форумах пишется что панацея от этой болезни- это волшебное словечко REPLACE в комманде, но здесь что то не прокатывает.

Пробовал через ГУИ тоже, не получается.

Может кто знает,куда дальше копать?
26 июл 11, 12:31    [11027434]     Ответить | Цитировать Сообщить модератору
 Re: the backup set holds a backup of a database other than the existing database  [new]
Glory
Member

Откуда:
Сообщений: 104751
kyrgyzbala
Получается, если с базы бэкап был снят без этой фалйоловй группы, то его уже нигде не восстановишь, кроме той базы, с которого он был снят.

А откуда возьмется то отсутствующие файлы, если вы восстановливаете частичный бэкап ?
26 июл 11, 12:54    [11027612]     Ответить | Цитировать Сообщить модератору
 Re: the backup set holds a backup of a database other than the existing database  [new]
kyrgyzbala
Member

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

отсутствуюший файл, если его нет, мне уже не нужен. Мне надо восстановить из бэкапа только PRIMARY.
26 июл 11, 12:58    [11027650]     Ответить | Цитировать Сообщить модератору
 Re: the backup set holds a backup of a database other than the existing database  [new]
Glory
Member

Откуда:
Сообщений: 104751
kyrgyzbala
Glory,

отсутствуюший файл, если его нет, мне уже не нужен. Мне надо восстановить из бэкапа только PRIMARY.

Вам может и не нужен. А серверу то как без него ?
Вы себе как представляете функционирование базы, у которой отсутствуют некоторые файлы ?
26 июл 11, 13:00    [11027664]     Ответить | Цитировать Сообщить модератору
 Re: the backup set holds a backup of a database other than the existing database  [new]
kyrgyzbala
Member

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

т.е. в отсутствии полного набора файлов в бэкапе, частичное восстановление невозможна?
26 июл 11, 13:02    [11027678]     Ответить | Цитировать Сообщить модератору
 Re: the backup set holds a backup of a database other than the existing database  [new]
Glory
Member

Откуда:
Сообщений: 104751
kyrgyzbala
Glory,

т.е. в отсутствии полного набора файлов в бэкапе, частичное восстановление невозможна?

Частичное восстановление на "чистый" сервер или на другую базу с разной организацией файловых групп невозможно
26 июл 11, 13:12    [11027751]     Ответить | Цитировать Сообщить модератору
 Re: the backup set holds a backup of a database other than the existing database  [new]
kyrgyzbala
Member

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

Так у меня получается же организация файловых групп одинакова на обеих базах. На обеих базах есть первичная файловая группа, и еще одна, добавленная потом.

Я просто хочу сделать так, чтоб бэкапы можно было отправлять без рисунок. И если бэкап был получен без фоток то, соответственно надо хотя бы первичную файловуя группу восстановить.

А есть другие пути для решения такой проблемы?
26 июл 11, 13:20    [11027806]     Ответить | Цитировать Сообщить модератору
 Re: the backup set holds a backup of a database other than the existing database  [new]
Glory
Member

Откуда:
Сообщений: 104751
kyrgyzbala
Glory,

Так у меня получается же организация файловых групп одинакова на обеих базах. На обеих базах есть первичная файловая группа, и еще одна, добавленная потом.

Ага, только называются они по разному ?
26 июл 11, 13:28    [11027874]     Ответить | Цитировать Сообщить модератору
 Re: the backup set holds a backup of a database other than the existing database  [new]
kyrgyzbala
Member

Откуда:
Сообщений: 13
Glory
kyrgyzbala
Glory,

Так у меня получается же организация файловых групп одинакова на обеих базах. На обеих базах есть первичная файловая группа, и еще одна, добавленная потом.

Ага, только называются они по разному ?


Да, они называются по разному, но, по идее должен же быть метод восстановить из бэкапа базу, иначе в чем смысл всего этого?

На пример, если в бэкапе есть все файлы, то вот этот код будет работать нормально:

RESTORE DATABASE test1 FROM DISK = 'C:\test2.bak'
WITH REPLACE,
MOVE 'test2' TO '[path]\test1.mdf', 
MOVE 'PHOTOS' TO '[path]\test1_PHOTOS.mdf,
MOVE 'test2_log' TO '[path]\test1.ldf'

Т.е. я восстанавливаю бэкап из базы test2 на test1. Не смотря на то что они по разному называются.

Нельзя ли в этом процессе, просто не восстановить PHOTOS если его нету в бэкапе?
26 июл 11, 13:35    [11027909]     Ответить | Цитировать Сообщить модератору
 Re: the backup set holds a backup of a database other than the existing database  [new]
Glory
Member

Откуда:
Сообщений: 104751
kyrgyzbala
Да, они называются по разному, но, по идее должен же быть метод восстановить из бэкапа базу, иначе в чем смысл всего этого?

Смысл частичных бэкапов в уменьшении времени восстановления при сбое существующей базы
Для полного переноса базы эти бэкапы не предназначены
26 июл 11, 14:15    [11028263]     Ответить | Цитировать Сообщить модератору
 Re: the backup set holds a backup of a database other than the existing database  [new]
kyrgyzbala
Member

Откуда:
Сообщений: 13
Glory
kyrgyzbala
Да, они называются по разному, но, по идее должен же быть метод восстановить из бэкапа базу, иначе в чем смысл всего этого?

Смысл частичных бэкапов в уменьшении времени восстановления при сбое существующей базы
Для полного переноса базы эти бэкапы не предназначены


Понятно. :(

А может вы сталкивались с такой задачей, посоветуйте пожалуйста, как можно тогда отделить некоторые тяжелые, сравнительно менее нужные таблицы от базы?

У нас ситуация такая; бэкапы базы отправляются по очень медленным каналам. И следоватльно, надо исключить рисунки из базы, потому что, там куда они отправляются, эти рисунки не нужны.

Спасибо заранее.
26 июл 11, 14:30    [11028406]     Ответить | Цитировать Сообщить модератору
 Re: the backup set holds a backup of a database other than the existing database  [new]
Glory
Member

Откуда:
Сообщений: 104751
kyrgyzbala
А может вы сталкивались с такой задачей, посоветуйте пожалуйста, как можно тогда отделить некоторые тяжелые, сравнительно менее нужные таблицы от базы?

Сделать 2 базы ?
26 июл 11, 14:34    [11028437]     Ответить | Цитировать Сообщить модератору
 Re: the backup set holds a backup of a database other than the existing database  [new]
kyrgyzbala
Member

Откуда:
Сообщений: 13
Glory
Сделать 2 базы ?


Как то, не по джедайски получится.

Спасибо за совет.
26 июл 11, 15:07    [11028724]     Ответить | Цитировать Сообщить модератору
 Re: the backup set holds a backup of a database other than the existing database  [new]
Glory
Member

Откуда:
Сообщений: 104751
kyrgyzbala
Glory
Сделать 2 базы ?


Как то, не по джедайски получится.

Удалить везде файловую группу PHOTOS тогда
26 июл 11, 15:09    [11028737]     Ответить | Цитировать Сообщить модератору
 Re: the backup set holds a backup of a database other than the existing database  [new]
kyrgyzbala
Member

Откуда:
Сообщений: 13
Glory
Удалить везде файловую группу PHOTOS тогда


Было бы это возможно, я бы так не геморроился.
В общем, палка двух концов.

Ладно, спасибо за советы.
27 июл 11, 08:00    [11031820]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить