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

есть 1 полный бэкап и 16 инкрементальных, сделанных после полного с расширением trn.
(или это дифференциальные бэкапы?)

необходимо восстановить на другом сервере БД. т.е. восстановить полный бэкап и к нему
накатить 16 инкрементальных (дифференциальных)

как это сделать из интерфейса management studio?

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

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

The backup set holds a backup of database other then the existing database.
23 май 13, 17:04    [14340103]     Ответить | Цитировать Сообщить модератору
 Re: как восстановить данные из инкрементального бэкапа из интерфейса Management Studio?  [new]
stavgreengo
Member

Откуда:
Сообщений: 710
А с чем связано нежелание сделать всё сразу в T-SQL запросе ? С ленью и нежеланием учиться, подозреваю.
23 май 13, 17:18    [14340168]     Ответить | Цитировать Сообщить модератору
 Re: как восстановить данные из инкрементального бэкапа из интерфейса Management Studio?  [new]
Andraptor
Member

Откуда: Ukraine, Kharkiv
Сообщений: 291
Management Studio,
Чтобы восстановить базу данных, в Вашем случае, нужно накатить сначала последний полный с параметром NORECOVERY, а затем последний разностный.
А сообщение об ошибке говорит, что Вы пытаетесь восстановить базу уже с существующим именем. Нужно при восстановлении указывать OWEWRITE.
23 май 13, 17:19    [14340178]     Ответить | Цитировать Сообщить модератору
 Re: как восстановить данные из инкрементального бэкапа из интерфейса Management Studio?  [new]
locky
Member

Откуда: Харьков, Украина
Сообщений: 62034
trn - это не диф бэкап, а бэкап лога

а вообще, для генерации скриптом удобно использовать скуль
или эксель
23 май 13, 17:20    [14340182]     Ответить | Цитировать Сообщить модератору
 Re: как восстановить данные из инкрементального бэкапа из интерфейса Management Studio?  [new]
Гость333
Member

Откуда:
Сообщений: 3683
Management Studio
16 инкрементальных, сделанных после полного с расширением trn.
(или это дифференциальные бэкапы?)

А может, это бэкапы журнала транзакций? Когда вы выбираете набор для восстановления (Select the backup sets to restore), что написано в столбце Type?
23 май 13, 17:23    [14340189]     Ответить | Цитировать Сообщить модератору
 Re: как восстановить данные из инкрементального бэкапа из интерфейса Management Studio?  [new]
Andraptor
Member

Откуда: Ukraine, Kharkiv
Сообщений: 291
Andraptor
Нужно при восстановлении указывать OWEWRITE.

ой, ошибся, параметр REPLACE
23 май 13, 17:23    [14340195]     Ответить | Цитировать Сообщить модератору
 Re: как восстановить данные из инкрементального бэкапа из интерфейса Management Studio?  [new]
Glory
Member

Откуда:
Сообщений: 104760
BOL - How to: Restore a Differential Database Backup (SQL Server Management Studio)
23 май 13, 17:24    [14340199]     Ответить | Цитировать Сообщить модератору
 Re: как восстановить данные из инкрементального бэкапа из интерфейса Management Studio?  [new]
Management Studio
Guest
Гость333
Management Studio
16 инкрементальных, сделанных после полного с расширением trn.
(или это дифференциальные бэкапы?)

А может, это бэкапы журнала транзакций? Когда вы выбираете набор для восстановления (Select the backup sets to restore), что написано в столбце Type?


в Type написано transaction Log.
Сперва выполнил восстановленеи полного бэкапа с REPLACE. всё ок. восстановился
в NORECOVERY. теперь указываю восстановиться из последнего бэкапа trn
и получаю сообщение:

The log in this backup set begins as LSN 427623000000211200001
which is too recent to apply to the database. An earlier log backup that includes LSN
426527.......0001 can be restored.


как быть? последовательно делать 16 восстановлений?
я не могу указать самый последний trn backup?
23 май 13, 18:03    [14340422]     Ответить | Цитировать Сообщить модератору
 Re: как восстановить данные из инкрементального бэкапа из интерфейса Management Studio?  [new]
Glory
Member

Откуда:
Сообщений: 104760
Management Studio
как быть? последовательно делать 16 восстановлений?
я не могу указать самый последний trn backup?

Найти недостающие бэкапы лога.
И восстанавливать бэкапы логов в правильном порядке
23 май 13, 18:07    [14340443]     Ответить | Цитировать Сообщить модератору
 Re: как восстановить данные из инкрементального бэкапа из интерфейса Management Studio?  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37067
Management Studio
как быть? последовательно делать 16 восстановлений?
я не могу указать самый последний trn backup?
Естественно, последовательно.
23 май 13, 18:07    [14340444]     Ответить | Цитировать Сообщить модератору
 Re: как восстановить данные из инкрементального бэкапа из интерфейса Management Studio?  [new]
Гость333
Member

Откуда:
Сообщений: 3683
Management Studio
я не могу указать самый последний trn backup?

Самый последний бэкап указывается в случае дифференциальных бэкапов. А так как у вас transaction log, то надо восстанавливать последовательно всю цепочку.
23 май 13, 18:12    [14340460]     Ответить | Цитировать Сообщить модератору
 Re: как восстановить данные из инкрементального бэкапа из интерфейса Management Studio?  [new]
Management Studio
Guest
Гавриленко Сергей Алексеевич
Management Studio
как быть? последовательно делать 16 восстановлений?
я не могу указать самый последний trn backup?
Естественно, последовательно.


это очень неудобно. вот такая ситуация имеется:

раз в неделю выполняется полный бэкап БД, а в течение всей недели каждый час выполняется бэкап лога *.trn

если я правильно вас понял, чтобы восстановить данные на самый последний момент времени, мне надо:

1. восстановить полный бэкап в Norecovery.
2. последовательно восстановить +100500 инкрементальных бэкапов лога.

Это очень неудобно, особенно если это делать из интерфейса Managemnt Studio.
Согласен, если есть скрипт, то будет проще, а если делать восстановление без
скрипта то нужно +100500 раз кликнуть по кнопкам, чтобы последовально
восстановить сперва первый бэкап, затем второй, затем третий, затем +100500 бэкап.

или я всё не так понял и ошибаюсь? поясните пожалуйста.
почему я так интересуюьс: в Oracle достаточно дать команду
Restore database; recover database; и СУБД сама решает что накатывать архивлоги,
или инкрементальные бэкапы. сами бэкапы при этом в oracle указывать не нужно.
23 май 13, 18:16    [14340471]     Ответить | Цитировать Сообщить модератору
 Re: как восстановить данные из инкрементального бэкапа из интерфейса Management Studio?  [new]
Shakill
Member

Откуда: мск
Сообщений: 1880
Management Studio,

если вы бэкап базы делали на том же инстансе, что и восстанавливаете, и выбираете Source:Database, то ssms сама покажет в одном окне и полный бэкап, и весь список бэкапов журнала транзакций, так что никаких 100500 нажатий делать не надо будет

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

Management Studio
и СУБД сама решает что накатывать архивлоги,
или инкрементальные бэкапы.
это как?
23 май 13, 18:53    [14340617]     Ответить | Цитировать Сообщить модератору
 Re: как восстановить данные из инкрементального бэкапа из интерфейса Management Studio?  [new]
Management Studio
Guest
Гость333
Management Studio
я не могу указать самый последний trn backup?

Самый последний бэкап указывается в случае дифференциальных бэкапов. А так как у вас transaction log, то надо восстанавливать последовательно всю цепочку.


я понял.
бэкап transaction log имеет смысл делать, когда на сервере мало места?

у меня возник вопрос во восстановлению с помощью скрипта:
какой file писать 1 или 2, или 3?
как узнать?
например вот мой скрипт:

RESTORE DATABASE [TEST_RESTORE] 
FROM  DISK = N'E:\for_backup\backup_2013_05_22_000003_3684080.bak'
 WITH  FILE = 1,  NORECOVERY,  NOUNLOAD,  REPLACE,  STATS = 10
GO


WITH FILE = <N>, где N мы узнаем из
поля FileGroupId из запроса ниже?
restore filelistonly 
from disk='E:\for_backup\backup_2013_05_22_002441_0349522.trn';
23 май 13, 18:55    [14340629]     Ответить | Цитировать Сообщить модератору
 Re: как восстановить данные из инкрементального бэкапа из интерфейса Management Studio?  [new]
Гость333
Member

Откуда:
Сообщений: 3683
Management Studio
бэкап transaction log имеет смысл делать, когда на сервере мало места?

Не понял, как одно связано с другим.
Что имеет смысл — это разработать стратегию создания бэкапов, удовлетворяющую требованиям бизнеса, и следовать этой стратегии.
23 май 13, 19:06    [14340668]     Ответить | Цитировать Сообщить модератору
 Re: как восстановить данные из инкрементального бэкапа из интерфейса Management Studio?  [new]
Management Studio
Guest
Гость333
Management Studio
я не могу указать самый последний trn backup?

Самый последний бэкап указывается в случае дифференциальных бэкапов. А так как у вас transaction log, то надо восстанавливать последовательно всю цепочку.


вот так вот скриптом?
RESTORE DATABASE [TEST_RESTORE] 
FROM  DISK = N'E:\for_backup\backup_2013_05_22_000003_3684080.bak'
 WITH  FILE = 1,  NORECOVERY,  NOUNLOAD,  REPLACE,  STATS = 10
GO

RESTORE LOG [TEST_RESTORE] 
FROM  DISK = N'E:\for_backup\backup_2013_05_22_002441_0349522.trn' 
WITH  FILE = 1,  NORECOVERY,  NOUNLOAD,  STATS = 10
GO

RESTORE LOG [TEST_RESTORE] 
FROM  DISK = N'E:\for_backup\backup_2013_05_22_080004_1637980.trn' 
WITH  FILE = 1,  NORECOVERY,  NOUNLOAD,  STATS = 10
GO

RESTORE LOG [TEST_RESTORE] 
FROM  DISK = N'E:\for_backup\backup_2013_05_22_090003_2079390.trn' 
WITH  FILE = 1,  NORECOVERY,  NOUNLOAD,  STATS = 10
GO

RESTORE LOG [TEST_RESTORE] 
FROM  DISK = N'E:\for_backup\backup_2013_05_22_100002_9540890.trn' 
WITH  FILE = 1,  RECOVERY,  NOUNLOAD,  STATS = 10
GO
23 май 13, 19:18    [14340681]     Ответить | Цитировать Сообщить модератору
 Re: как восстановить данные из инкрементального бэкапа из интерфейса Management Studio?  [new]
Management Studio
Guest
Management Studio
и СУБД сама решает что накатывать архивлоги,
или инкрементальные бэкапы.
это как?[/quot]

на Oracle:

1. сделал полный бэкап БД + бэкап управляющего и spfile
2. сделал парочку инкрементальный бэкапов БД
3. сделал бэкап архивных журналов

при восстановлении БД на другом сервере восстанавливается сперва
spfile и управляющий файл из бэкапа, а затем контрольнику сообщается,
где лежат бэкапы и архивлоги. при этом не надо указывать что использовать
для восстановления. Если Oracle сочтёт нужным, он будет использовать бэкапы
архивлогов, а не инкрементальных бэкапов.
Т.е. достаточно дать команду restore и recover.
24 май 13, 10:27    [14343047]     Ответить | Цитировать Сообщить модератору
 Re: как восстановить данные из инкрементального бэкапа из интерфейса Management Studio?  [new]
Glory
Member

Откуда:
Сообщений: 104760
Management Studio
Т.е. достаточно дать команду restore и recover.

И как мне регулировать, на какой момент времени восстановливать базу ?
24 май 13, 10:31    [14343080]     Ответить | Цитировать Сообщить модератору
 Re: как восстановить данные из инкрементального бэкапа из интерфейса Management Studio?  [new]
Management Studio
Guest
Glory
Management Studio
Т.е. достаточно дать команду restore и recover.

И как мне регулировать, на какой момент времени восстановливать базу ?


очень просто: если вам нужно восстановить БД на какой-то момент времени в прошлом,
вы указываете на какой момент времени восстановить,
или до какого scn или sequence восстановить:

примеры:
восстановление до system change number
RECOVER DATABASE UNTIL SCN 1018985;


восстановление на определённый момент времени
RMAN> run {
set until time "to_date('22-05-2013 23:52:00', 'dd-mm-yyyy hh24:mi:ss')";
restore database;
recover database;
alter database open resetlogs;
}


восстановление до определённой последовательности:
RECOVER DATABASE UNTIL sequence 101123;


как видите я не указывал что мне использовать для восстановления инкрементальный бэкап, или бэкап архивлогов.
Oracle посмотрит что есть в бэкапе и на основе этого выберет наилучшую стратегию для восстановления.
24 май 13, 11:20    [14343446]     Ответить | Цитировать Сообщить модератору
 Re: как восстановить данные из инкрементального бэкапа из интерфейса Management Studio?  [new]
Glory
Member

Откуда:
Сообщений: 104760
Management Studio
очень просто: если вам нужно восстановить БД на какой-то момент времени в прошлом,
вы указываете на какой момент времени восстановить,
или до какого scn или sequence восстановить:

И чем это принципиальго отличается тогда от MSSQL ?
24 май 13, 11:23    [14343475]     Ответить | Цитировать Сообщить модератору
 Re: как восстановить данные из инкрементального бэкапа из интерфейса Management Studio?  [new]
Management Studio
Guest
Glory
Management Studio
очень просто: если вам нужно восстановить БД на какой-то момент времени в прошлом,
вы указываете на какой момент времени восстановить,
или до какого scn или sequence восстановить:

И чем это принципиальго отличается тогда от MSSQL ?


а я и не говорил, что это принципиально отличается.

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

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


что-то не получилось. там можно добавлять только по одному файлу.
или я что-то не так делаю. могли бы показать? снимок экрана приложить?
24 май 13, 11:35    [14343567]     Ответить | Цитировать Сообщить модератору
 Re: как восстановить данные из инкрементального бэкапа из интерфейса Management Studio?  [new]
Glory
Member

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

Если бы вы делали все бэкапы на одно устройство бэкапа (файл - это тоже устройство), то интерфейс вам бы их все отобразил.
24 май 13, 11:38    [14343609]     Ответить | Цитировать Сообщить модератору
 Re: как восстановить данные из инкрементального бэкапа из интерфейса Management Studio?  [new]
Shakill
Member

Откуда: мск
Сообщений: 1880
Management Studio
автор
ну а если вы выбираете восстановление из файлов, то в соотв. диалоге их можно выделить сразу все скопом
что-то не получилось. там можно добавлять только по одному файлу.
или я что-то не так делаю. могли бы показать? снимок экрана приложить?

Restore Database -> Device (...) -> Select backup Devices - File (Add) -> Locate Backup File
вот в этом диалоге можно выбирать сразу несколько файлов
24 май 13, 13:14    [14344623]     Ответить | Цитировать Сообщить модератору
 Re: как восстановить данные из инкрементального бэкапа из интерфейса Management Studio?  [new]
Management Studio
Guest
Shakill
Management Studio
пропущено...
что-то не получилось. там можно добавлять только по одному файлу.
или я что-то не так делаю. могли бы показать? снимок экрана приложить?

Restore Database -> Device (...) -> Select backup Devices - File (Add) -> Locate Backup File
вот в этом диалоге можно выбирать сразу несколько файлов

а версия какая Ms sql?

у меня 2008 и там так сделать нельзя, потому что нужно заполнить поле
File name. Нельзя указать папку, иначе кнопка Ок не активна, также нельзя в поле
File name указать *.trn или *.bak

что я делаю:

Встал на произвольную БД
в Object Explorer=>Tasks=>Restore=>Database=>From Device=>Add=>

далее я выбираю папку с бэкапами.
в самом интерфейсе management studio три поля:
Selected path (путь к папке где лежат бэкапы)
Files of Type (тип файлов)
File Name (Имя файла)


если в File name указать *.*, то будет сообщение:

The Database Engine service could not resolve the specified file location.
24 май 13, 13:25    [14344725]     Ответить | Цитировать Сообщить модератору
 Re: как восстановить данные из инкрементального бэкапа из интерфейса Management Studio?  [new]
Shakill
Member

Откуда: мск
Сообщений: 1880
Management Studio
Shakill
пропущено...

Restore Database -> Device (...) -> Select backup Devices - File (Add) -> Locate Backup File
вот в этом диалоге можно выбирать сразу несколько файлов

а версия какая Ms sql?
версия сервера неважно какая, а вот SSMS - 2012
вы тоже можете такую поставить
24 май 13, 13:32    [14344797]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / Microsoft SQL Server Ответить