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

Откуда: Moscow
Сообщений: 610
Добрый день!

СУБД: Microsoft SQL Server 2005 - 9.00.5000.00 (X64) Dec 10 2010 10:38:40 Copyright (c) 1988-2005 Microsoft Corporation Developer Edition (64-bit) on Windows NT 6.1 (Build 7601: Service Pack 1)

База X лежит в Restoring
Перед тем как ее уронили сделали снапшот, т.е. есть файлы *.ss, но в management studio снапшота упавшей БД X нету.
Вопрос, можно ли имея файлы снапшота приаттачить его, что бы через клиента делать к нему запросы?
12 фев 14, 11:08    [15555372]     Ответить | Цитировать Сообщить модератору
 Re: Есть файлы снапшота, как с них поднять базу?  [new]
Glory
Member

Откуда:
Сообщений: 104751
RESTORE DATABASE <database_name> FROM DATABASE_SNAPSHOT = <database_snapshot_name>
12 фев 14, 11:10    [15555391]     Ответить | Цитировать Сообщить модератору
 Re: Есть файлы снапшота, как с них поднять базу?  [new]
andrew shalaev
Member

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

Нету <database_snapshot_name> в папке Datadase Snapsbhot , есть только файлы с разрешением *.ss.
12 фев 14, 11:20    [15555477]     Ответить | Цитировать Сообщить модератору
 Re: Есть файлы снапшота, как с них поднять базу?  [new]
andrew shalaev
Member

Откуда: Moscow
Сообщений: 610
andrew shalaev,

Можно ли имея только файлы снапшота восстановить БД на момент создания снапшота?
Или же можно ли имея только файлы снашота прикрепить снапшот, что бы далее можно было применить конструкцию

RESTORE DATABASE <database_name> FROM DATABASE_SNAPSHOT = <database_snapshot_name>
12 фев 14, 11:28    [15555568]     Ответить | Цитировать Сообщить модератору
 Re: Есть файлы снапшота, как с них поднять базу?  [new]
Glory
Member

Откуда:
Сообщений: 104751
Попробуйте
- создать базу
- создать снапшот базы
- подменить файл снапшота
- восстановить базу со снапшота
12 фев 14, 11:34    [15555643]     Ответить | Цитировать Сообщить модератору
 Re: Есть файлы снапшота, как с них поднять базу?  [new]
andrew shalaev
Member

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

при замене файлов снапшот становится недоступным.
Может еще кто знает способы?
12 фев 14, 16:22    [15558063]     Ответить | Цитировать Сообщить модератору
 Re: Есть файлы снапшота, как с них поднять базу?  [new]
o-o
Guest
по-моему, в такой ситуации способов не существует.
база дополняет снэпшот, т.е. снэпшота без базы не бывает.

The snapshot files contain only the data that has changed from the source. For every file, SQL
Server creates a bitmap that is kept in cache, with a bit for each page of the file, indicating
whether that page has been copied to the snapshot. Every time a page in the source is updated,
SQL Server checks the bitmap for the fi le to see if the page has already been copied, and if it
hasn't, it is copied at that time.

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

поэтому вообще-то и ограничения описаны:
If any snapshots exist on a source database, the source database cannot be dropped,
detached, or restored.
12 фев 14, 18:40    [15558787]     Ответить | Цитировать Сообщить модератору
 Re: Есть файлы снапшота, как с них поднять базу?  [new]
Mnior
Member

Откуда: Кишинёв
Сообщений: 6724
Поэтому решение мне не нравится.
Если это было реализовано чисто на/в файловой системе, то было фиолетово.

А так ФС используется, но как костыль и через ЗДЦ.
При этом вместо того чтобы копировать старое значение блока данных в блок данных *.ss файла, а потом накрывать (2-3 действия),
лучше уж просто сделать новый блок и сменить на него ссылку в *._df файле (1 действие).

Короче NTFS и такой подход (Copy-on-Write) гимно.
Хотя половина решений MS - фатальный недостаток.

А функциональный подход с неизменяемыми объектами много лучше. Уже писал.
13 фев 14, 13:20    [15562455]     Ответить | Цитировать Сообщить модератору
 Re: Есть файлы снапшота, как с них поднять базу?  [new]
NickAlex66
Member

Откуда:
Сообщений: 319
andrew shalaev,

А по подробней, что с базой X сделали, что она в ресторинге?
13 фев 14, 14:23    [15562918]     Ответить | Цитировать Сообщить модератору
 Re: Есть файлы снапшота, как с них поднять базу?  [new]
Slava_Nik
Member

Откуда: из России
Сообщений: 901
я так понимаю у вас просто файл снепшота и он не подключен в ms sql серверу?
т.к. базу в ресторинг со снепшотом нельзя поставить.

Могу сказать одно, из снепшота ничего не получится восстановить.
Искать бекап.
14 фев 14, 11:00    [15566494]     Ответить | Цитировать Сообщить модератору
 Re: Есть файлы снапшота, как с них поднять базу?  [new]
andrew shalaev
Member

Откуда: Moscow
Сообщений: 610
NickAlex66
А по подробней, что с базой X сделали, что она в ресторинге?


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

Одно приложение сделало снапшот БД
Далее произвела изменения в БД
Перевела БД с сингюзер
Попыталась откатить изменения восстановившись с сноапшота
Далее
Starting up database 'DB'.
The database 'DB' is marked RESTORING and is in a state that does not allow recovery to be run.

вот и вся информация.
14 фев 14, 13:42    [15567747]     Ответить | Цитировать Сообщить модератору
 Re: Есть файлы снапшота, как с них поднять базу?  [new]
NickAlex66
Member

Откуда:
Сообщений: 319
andrew shalaev,

Похоже при восстановлении из снапшота случилась бяка.
Есть небольшая вероятность, что поможет RESTORE LOG <BD>
14 фев 14, 16:16    [15569184]     Ответить | Цитировать Сообщить модератору
 Re: Есть файлы снапшота, как с них поднять базу?  [new]
andrew shalaev
Member

Откуда: Moscow
Сообщений: 610
NickAlex66
Похоже при восстановлении из снапшота случилась бяка.


Жаль что точнее так и не смог выяснить какая именно бяка и как именно это произошло. В результате базу удалил.
14 фев 14, 17:29    [15569636]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить