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

Откуда:
Сообщений: 521
День добрый!
Задача такая, есть большая база с большим количеством таблиц, переодиечески "играемся" с данными, после чего необходимо вернуться к моменту начала "игр".
Соответственно перед изменениями в базе делаем полный бэкап, потом его восстанавливаем.

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

Перед изменениями можно сохранить изменяемые таблицы под другим именем, а в конце вернуть им начальные имена, но таблиц изменяется много, так что это не уднобно.
21 окт 13, 19:29    [15010499]     Ответить | Цитировать Сообщить модератору
 Re: Быстрое восстановление резервной копии, как?  [new]
Гость333
Member

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

Делаете снапшот большой базы.
Играетесь на снапшоте.
После того, как наигрались — удаляете снапшот.
21 окт 13, 19:34    [15010511]     Ответить | Цитировать Сообщить модератору
 Re: Быстрое восстановление резервной копии, как?  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
Гость333
abrashka,

Делаете снапшот большой базы.
Играетесь на снапшоте.
После того, как наигрались — удаляете снапшот.
А каким таким магическим образом снапшот откатит сделанные изменения?

Сообщение было отредактировано: 21 окт 13, 20:13
21 окт 13, 20:13    [15010627]     Ответить | Цитировать Сообщить модератору
 Re: Быстрое восстановление резервной копии, как?  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
abrashka
День добрый!
Задача такая, есть большая база с большим количеством таблиц, переодиечески "играемся" с данными, после чего необходимо вернуться к моменту начала "игр".
Соответственно перед изменениями в базе делаем полный бэкап, потом его восстанавливаем.

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

Перед изменениями можно сохранить изменяемые таблицы под другим именем, а в конце вернуть им начальные имена, но таблиц изменяется много, так что это не уднобно.
Чудес не бывает. Закомиченные транзакции откатывать нельзя. Или через бэкапы-ресторы, или через копии объектов, или через собственно логирование изменений и откат по ним же.
21 окт 13, 20:16    [15010633]     Ответить | Цитировать Сообщить модератору
 Re: Быстрое восстановление резервной копии, как?  [new]
WarAnt
Member

Откуда: Питер
Сообщений: 2423
abrashka,


Если диски быстрые...
Детачите базу,
Копируете файлы,
Атачите базу,
Играетесь,
Детачите базу,
Возвращаете скопированные файлы на место (либо для ускарения оставляете там же),
Атачите базу до изменений.
21 окт 13, 20:25    [15010653]     Ответить | Цитировать Сообщить модератору
 Re: Быстрое восстановление резервной копии, как?  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31983
abrashka
Как можно вернуться к исходной позиции по-быстроому, без восстановления полного бэкапа?
Разве что использовать виртуалку (или специальную функциональность СХД), когда состояние диска замораживается, а все изменения делаются куда то в отдельное место.
21 окт 13, 20:28    [15010665]     Ответить | Цитировать Сообщить модератору
 Re: Быстрое восстановление резервной копии, как?  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31983
WarAnt
Копируете файлы,
Это по скорости равно бакапу (почти, там некоторое дополнительное время на журнал транзакций).

Если бакап делается 2 часа, то и файлы будут копироваться 2 часа (ну может полтора).
21 окт 13, 20:29    [15010671]     Ответить | Цитировать Сообщить модератору
 Re: Быстрое восстановление резервной копии, как?  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
alexeyvg
WarAnt
Копируете файлы,
Это по скорости равно бакапу (почти, там некоторое дополнительное время на журнал транзакций).

Если бакап делается 2 часа, то и файлы будут копироваться 2 часа (ну может полтора).
А если файлы с хорошим запасом свободного места, то еще и дольше. А если бэкап хорошо жмется, то опять еще дольше. Т.е манипуляции с файлами в лучшем случе будут одинаковы по скорости с рестор/бэкапами, в худшем - в несколько раз медленее.
21 окт 13, 20:32    [15010674]     Ответить | Цитировать Сообщить модератору
 Re: Быстрое восстановление резервной копии, как?  [new]
invm
Member

Откуда: Москва
Сообщений: 9836
abrashka,

Делаете как посоветовал Гость333. Только играться на снепшоте нельзя.
Зато можно восстановиться на момент создания снепшота:
restore database ... from database_snapshot = ...
Только при этом будет пересоздат журнал транзакций.
21 окт 13, 20:38    [15010686]     Ответить | Цитировать Сообщить модератору
 Re: Быстрое восстановление резервной копии, как?  [new]
abrashka
Member

Откуда:
Сообщений: 521
Всем спасибо!
Аттач/детач по времени равносилен восстановлению полной копии, не подходит :(


Гавриленко Сергей Алексеевич,
"или через собственно логирование изменений и откат по ним же"- вот именно это и интересует, можно ли это осуществить без восстановления полного бэкапа, а только откатить изменения?

invm,
Попробую так,
Спасибо!
21 окт 13, 22:16    [15011005]     Ответить | Цитировать Сообщить модератору
 Re: Быстрое восстановление резервной копии, как?  [new]
locky
Member

Откуда: Харьков, Украина
Сообщений: 62034
еще можно использовать пакованные бэкапы
экономия по месту в 5 раз, по времени - в 4
иногда это может быть быстрее снапшота
21 окт 13, 22:19    [15011020]     Ответить | Цитировать Сообщить модератору
 Re: Быстрое восстановление резервной копии, как?  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31983
Гавриленко Сергей Алексеевич
А если файлы с хорошим запасом свободного места, то еще и дольше. А если бэкап хорошо жмется, то опять еще дольше.
Да, это точно, даже про это не вспомнил, а влиять может в разы.
abrashka
"или через собственно логирование изменений и откат по ним же"- вот именно это и интересует, можно ли это осуществить без восстановления полного бэкапа, а только откатить изменения?
Восстанавливаться всё равно нужно будет начиная с полного бакапа, но можено съэкономить время на создание полного бакапа.

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

Это оправдано, если ваши "игры" не меняют много данных.
abrashka
Аттач/детач по времени равносилен восстановлению полной копии, не подходит :(
Вы убедитесь, что включено сжатие бакапа (если версия позволяет) - это может в пару раз увеличить скорость бакапа/восстановления
21 окт 13, 22:28    [15011052]     Ответить | Цитировать Сообщить модератору
 Re: Быстрое восстановление резервной копии, как?  [new]
abrashka
Member

Откуда:
Сообщений: 521
Упс, самое главное я не написал :(
Речь идет о 2008 R2 Standard
Так что снэпшоты отпадают :(
21 окт 13, 23:00    [15011172]     Ответить | Цитировать Сообщить модератору
 Re: Быстрое восстановление резервной копии, как?  [new]
invm
Member

Откуда: Москва
Сообщений: 9836
abrashka
Упс, самое главное я не написал :(
Речь идет о 2008 R2 Standard
Так что снэпшоты отпадают :(
Ну тогда и резервное копирование со сжатием тоже отпадает.

Можно оставить как есть сейчас, только включить Instant File Initialization. Правда, если журнал большой, то слабо поможет.

А можно:
alter database ... set offline
Копируем файлы БД в надежное место
alter database ... set online
Игры
alter database ... set offline
Восстанавливаем предварительно скопированные файлы БД.
alter database ... set online
21 окт 13, 23:45    [15011367]     Ответить | Цитировать Сообщить модератору
 Re: Быстрое восстановление резервной копии, как?  [new]
Гость333
Member

Откуда:
Сообщений: 3683
Гавриленко Сергей Алексеевич
Гость333
abrashka,

Делаете снапшот большой базы.
Играетесь на снапшоте.
После того, как наигрались — удаляете снапшот.
А каким таким магическим образом снапшот откатит сделанные изменения?

Это я перепутал. К сожалению, в MSSQL есть только read-only снапшоты, мой совет был для updatable снапшота :)
22 окт 13, 00:31    [15011589]     Ответить | Цитировать Сообщить модератору
 Re: Быстрое восстановление резервной копии, как?  [new]
locky
Member

Откуда: Харьков, Украина
Сообщений: 62034
invm
abrashka
Упс, самое главное я не написал :(
Речь идет о 2008 R2 Standard
Так что снэпшоты отпадают :(
Ну тогда и резервное копирование со сжатием тоже отпадает.



чойто?
в стандарте поддерживается
кроме того - есть сторонние тулзы, в т.ч. бесплатные и опенсорсные (хреновые, правда)
22 окт 13, 01:21    [15011707]     Ответить | Цитировать Сообщить модератору
 Re: Быстрое восстановление резервной копии, как?  [new]
Критик
Member

Откуда: Москва / Калуга
Сообщений: 35396
Блог
делите базу на read-only и изменяемую части,

восстанавливаете full - работаете с ней,

сразу же восстанавливаете read-only-часть во вторую базу (эта база пока не в онлайне), когда нужно будет откатиться - довосстанавливаете вторую базу
22 окт 13, 08:12    [15011887]     Ответить | Цитировать Сообщить модератору
 Re: Быстрое восстановление резервной копии, как?  [new]
invm
Member

Откуда: Москва
Сообщений: 9836
locky
в стандарте поддерживается
Угу. С 2008 попутал...
22 окт 13, 09:43    [15012188]     Ответить | Цитировать Сообщить модератору
 Re: Быстрое восстановление резервной копии, как?  [new]
AnyKey45
Member

Откуда: Ekaterinburg-Moscow-EU
Сообщений: 219
abrashka,

полагаю вариант, чтобы "играться" на тестовом серваке - не рассматривается?
22 окт 13, 10:04    [15012318]     Ответить | Цитировать Сообщить модератору
 Re: Быстрое восстановление резервной копии, как?  [new]
abrashka
Member

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

это и есть тестовый сервак, но после каждых "игр" ресторить где-то час- напрягает. Такое может происходить несколько раз в день.
22 окт 13, 10:06    [15012334]     Ответить | Цитировать Сообщить модератору
 Re: Быстрое восстановление резервной копии, как?  [new]
BuKTaP
Member

Откуда:
Сообщений: 132
Может такой вариант подойдёт?
Как ускорить процесс восстановления - http://www.specialist.ru/center/advice/83/kak-uskoritj-vosstanovlenie-boljshih-baz-dannih-v-sql-server
За целостность данных и последствия не ручаюсь.
22 окт 13, 10:25    [15012441]     Ответить | Цитировать Сообщить модератору
 Re: Быстрое восстановление резервной копии, как?  [new]
Алексей Куренков
Member [заблокирован]

Откуда: Москва
Сообщений: 567
abrashka,

1. create database db_ss on (name = db_data, filename = 'D:\MSSQL_Data\db.MDF.ss') as snapshot of db
2. играемся как хотим
3. restore database db from database_snapshot = 'db_ss' - быстрый рестор БД - восстанавливает не всю БД а измененные страницы.
22 окт 13, 10:29    [15012474]     Ответить | Цитировать Сообщить модератору
 Re: Быстрое восстановление резервной копии, как?  [new]
AnyKey45
Member

Откуда: Ekaterinburg-Moscow-EU
Сообщений: 219
Алексей Куренков,
стандарт не поддерживает снапшоты

BuKTaP
кстати, да - "perform volume maintenance tasks" - такой вопрос даже есть в экзамене п0 70-462

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

или параллельно ресторить вторую базу для следующих игр, а потом только накатывать дифф на нее
22 окт 13, 10:53    [15012654]     Ответить | Цитировать Сообщить модератору
 Re: Быстрое восстановление резервной копии, как?  [new]
abrashka
Member

Откуда:
Сообщений: 521
Алексей Куренков,

Microsoft SQL Server 2008 R2 (SP1) - 10.50.2550.0 (X64) Jun 11 2012 16:41:53 Copyright (c) Microsoft Corporation Standard Edition (64-bit) on Windows NT 6.1 <X64> (Build 7601: Service Pack 1)

Снэпшоты не поддерживаются.
22 окт 13, 10:54    [15012664]     Ответить | Цитировать Сообщить модератору
 Re: Быстрое восстановление резервной копии, как?  [new]
invm
Member

Откуда: Москва
Сообщений: 9836
abrashka,

В Acronis True Image есть фича Try&Decide. Может подойдет.
22 окт 13, 10:58    [15012693]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / Microsoft SQL Server Ответить