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

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

Windows Server 2008 R2 Enterprise

Два абсолютно идентичных сервера - основной и резервный. Копии баз делаются через расписание бэкап/рестор. После зависания основного сервера на резервном одна база в режиме Standby/Readonly .
Теперь бэки исправно делаются на основном сервере, но не восстанавливаются.
Помогите пожалуйста...
6 дек 15, 12:14    [18520219]     Ответить | Цитировать Сообщить модератору
 Re: база на резервном сервере в режиме standby/Readonly - как восстановить из bak?  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31438
mar-push
Теперь бэки исправно делаются на основном сервере, но не восстанавливаются.
Не восстанавливаются, или восстанавливаются в состоянии Standby?

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

А то странный вопрос получается - "я сделал бакап испорченной базы, скопировал, куда только можно - как мне восстановить рабочую базу, у которой потёрли резервные копии?"
6 дек 15, 14:30    [18520454]     Ответить | Цитировать Сообщить модератору
 Re: база на резервном сервере в режиме standby/Readonly - как восстановить из bak?  [new]
mar-push
Member

Откуда:
Сообщений: 61
База на основном сервере не испорчена. В ней данные актуальны. Есть нормальный бэк этой рабочей базы. Но когда я пытаюсь его восстановить. Т.е. выбираю в Server Management Studio Tasks/Restore/ - меню Database не активно, активно только Transaction Log...
6 дек 15, 14:49    [18520491]     Ответить | Цитировать Сообщить модератору
 Re: база на резервном сервере в режиме standby/Readonly - как восстановить из bak?  [new]
mar-push
Member

Откуда:
Сообщений: 61
Т.е. я не знаю, как на резервном сервере восстановить рабочую базу. Detach - не получается, пишет база in use. Offline - тоже. Пытаюсь восстановить Transaction Log из этого рабочего бэка - явно что-то не то делаю. Может подскажете - как поступить?
6 дек 15, 14:59    [18520506]     Ответить | Цитировать Сообщить модератору
 Re: база на резервном сервере в режиме standby/Readonly - как восстановить из bak?  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31438
mar-push
База на основном сервере не испорчена. В ней данные актуальны. Есть нормальный бэк этой рабочей базы. Но когда я пытаюсь его восстановить. Т.е. выбираю в Server Management Studio Tasks/Restore/ - меню Database не активно, активно только Transaction Log...
Эээ, ну, в файле бакапа есть бакап базы? Или там только бакап лога?

Посмотрите, что у вас в файле бакапа, командой:
RESTORE FILELISTONLY FROM DISK = 'имя (с путём) вашего файла бакапа'
6 дек 15, 15:06    [18520519]     Ответить | Цитировать Сообщить модератору
 Re: база на резервном сервере в режиме standby/Readonly - как восстановить из bak?  [new]
mar-push
Member

Откуда:
Сообщений: 61
есть и дата и лог файл, размеры нормальные.
6 дек 15, 15:14    [18520540]     Ответить | Цитировать Сообщить модератору
 Re: база на резервном сервере в режиме standby/Readonly - как восстановить из bak?  [new]
mar-push
Member

Откуда:
Сообщений: 61
Этот бэкап - бэк файл не именно этой базы. А этой базы на основном сервере. А запортилась база - на копии этого основного сервера. Т.е. я могу полностью снести базу на резерном сервере допустим и восстановить её заново, скопировав файлы с основного. Но что-то то никак не получается ((
6 дек 15, 15:20    [18520558]     Ответить | Цитировать Сообщить модератору
 Re: база на резервном сервере в режиме standby/Readonly - как восстановить из bak?  [new]
Glory
Member

Откуда:
Сообщений: 104760
mar-push
Этот бэкап - бэк файл не именно этой базы. А этой базы на основном сервере. А запортилась база - на копии этого основного сервера. Т.е. я могу полностью снести базу на резерном сервере допустим и восстановить её заново, скопировав файлы с основного. Но что-то то никак не получается ((

Ничего не надо сносить.
Просто напишите правильную команду RESTORE дял нужного бэкапа.
6 дек 15, 16:18    [18520673]     Ответить | Цитировать Сообщить модератору
 Re: база на резервном сервере в режиме standby/Readonly - как восстановить из bak?  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31438
mar-push
Этот бэкап - бэк файл не именно этой базы. А этой базы на основном сервере. А запортилась база - на копии этого основного сервера. Т.е. я могу полностью снести базу на резерном сервере допустим и восстановить её заново, скопировав файлы с основного. Но что-то то никак не получается ((
Да, я понимаю, что этот бакап - бакап базы с основного сервера.

Вот вам и нужно восстановить базу с этого бакапа на ваш резервный сервер.

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

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

В интерфейсе, когда нажмаете "восстановить", выберите файл бакапа, и восстанавливайте,установив нужные опции. Может, вы не выбирали источник?

Вы, похоже, вообще не представляете, как в сиквеле делается резервное копирование и восстановление.
Откройте хелп, и прочитайте про оба варианта восстановления. У сиквела же есть прекрасный хелп, на русском языке.
6 дек 15, 16:30    [18520707]     Ответить | Цитировать Сообщить модератору
 Re: база на резервном сервере в режиме standby/Readonly - как восстановить из bak?  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31438
mar-push
Т.е. я могу полностью снести базу на резерном сервере допустим и восстановить её заново, скопировав файлы с основного. Но что-то то никак не получается ((
Да, есть ещё вариант копирования самих файлов баз. Но с вашими знаниями, боюсь, это может привести и к потере баз основного сервера, лучше не рисковать.
6 дек 15, 16:31    [18520714]     Ответить | Цитировать Сообщить модератору
 Re: база на резервном сервере в режиме standby/Readonly - как восстановить из bak?  [new]
mar-push
Member

Откуда:
Сообщений: 61
1)бэкап основного сервера хранится на резервном сервере.
я и прошу подсказать мне нужные опции для восстановления (( или

2) я много раз переносил сами файлы баз данных с одного скл сервера на другой. У нас их довольно много)) Но для этого мне сначала надо сделать detach испорченной базы. А у меня не получается - тоже прошу совета
6 дек 15, 16:47    [18520782]     Ответить | Цитировать Сообщить модератору
 Re: база на резервном сервере в режиме standby/Readonly - как восстановить из bak?  [new]
mar-push
Member

Откуда:
Сообщений: 61
источник я выбирал. При выборе команды ресторе, как я уже и писал нет возможности выбрать database этот пункт неактивен
6 дек 15, 16:49    [18520788]     Ответить | Цитировать Сообщить модератору
 Re: база на резервном сервере в режиме standby/Readonly - как восстановить из bak?  [new]
mar-push
Member

Откуда:
Сообщений: 61
Glory, может быть подскажете параметры для restore ?
6 дек 15, 16:49    [18520790]     Ответить | Цитировать Сообщить модератору
 Re: база на резервном сервере в режиме standby/Readonly - как восстановить из bak?  [new]
felix_ff
Member

Откуда: Moscow
Сообщений: 1451
mar-push,

https://technet.microsoft.com/ru-ru/library/ms178034(v=sql.105).aspx
6 дек 15, 17:01    [18520823]     Ответить | Цитировать Сообщить модератору
 Re: база на резервном сервере в режиме standby/Readonly - как восстановить из bak?  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31438
mar-push
2) я много раз переносил сами файлы баз данных с одного скл сервера на другой. У нас их довольно много)) Но для этого мне сначала надо сделать detach испорченной базы. А у меня не получается - тоже прошу совета
Зачем "надо сделать detach испорченной базы"? Дропните её.
mar-push
нет возможности выбрать database этот пункт неактивен
Там два пункта "database". Вы про какой?
Один из них, верхний, выбирать не нужно, в него нужно ввести имя базы данных.
Другой, нижний, выбирать нельзя, потому что вы восстанавливаете базу из файла бакапа.

Я вам ещё раз советую, прочитайте про восстановление из бакапов, там же одна небольшая страничка.
6 дек 15, 17:03    [18520828]     Ответить | Цитировать Сообщить модератору
 Re: база на резервном сервере в режиме standby/Readonly - как восстановить из bak?  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31438
mar-push
Glory, может быть подскажете параметры для restore ?
Что из описания команды вам непонятно? Покажите ваш вариант, что вы написали, какие параметры? Давайте конкретные вопросы, что не получается, подскажем.
6 дек 15, 17:06    [18520837]     Ответить | Цитировать Сообщить модератору
 Re: база на резервном сервере в режиме standby/Readonly - как восстановить из bak?  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31438
alexeyvg
Один из них, верхний, выбирать не нужно, в него нужно ввести имя базы данных.
Другой, нижний, выбирать нельзя, потому что вы восстанавливаете базу из файла бакапа.
А, тут ещё от версии студии зависит...

В общем, нужно выбрать не восстановление по метаданным базы, а восстановление из файла.
А потом ввести (выбрать) имя базы, куда восстанавливать.
Ну и правильно назначить опции. То есть не просто нажать "Ок", а прочитать каждую опцию на каждой вкладке, понять, зачем она нужна, и установить её в правильное, подходящее для вашего случая, значение.
6 дек 15, 17:12    [18520852]     Ответить | Цитировать Сообщить модератору
 Re: база на резервном сервере в режиме standby/Readonly - как восстановить из bak?  [new]
mar-push
Member

Откуда:
Сообщений: 61
Ок, спасибо. Завтра с утра займусь.
6 дек 15, 17:38    [18520907]     Ответить | Цитировать Сообщить модератору
 Re: база на резервном сервере в режиме standby/Readonly - как восстановить из bak?  [new]
pXn
Member

Откуда: Косопузая
Сообщений: 45
mar-push,
На резервном сервере одним скриптом:
use master
go
alter database [DB_NAME] set single_user with rollback immediate
restore database [DB_NAME] with recovery
alter database [DB_NAME] set multi_user

После этого накатывать свежий бэкап
7 дек 15, 14:03    [18524287]     Ответить | Цитировать Сообщить модератору
 Re: база на резервном сервере в режиме standby/Readonly - как восстановить из bak?  [new]
pXn
Member

Откуда: Косопузая
Сообщений: 45
[DB_Name] заменить на имя своей БД
7 дек 15, 14:04    [18524292]     Ответить | Цитировать Сообщить модератору
 Re: база на резервном сервере в режиме standby/Readonly - как восстановить из bak?  [new]
mar-push
Member

Откуда:
Сообщений: 61
pXn, спасибо.
Наверное это правильное решение.
Но я уже все исправила. Почти так же))
После того, как я перевела базу в режим offline, я смогла detach-нуть её. На у потом восстановила с заменой файлов базы данных.

Все работает. Вопрос закрыт.
7 дек 15, 19:58    [18526314]     Ответить | Цитировать Сообщить модератору
 Re: база на резервном сервере в режиме standby/Readonly - как восстановить из bak?  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31438
pXn
На резервном сервере одним скриптом:
use master
go
alter database [DB_NAME] set single_user with rollback immediate
restore database [DB_NAME] with recovery
alter database [DB_NAME] set multi_user
Не сработает, потому что останется чужой коннект, который не даст сделать рестор.

Нужно оставить этот коннект себе:
use [DB_NAME]
go
alter database [DB_NAME] set single_user with rollback immediate
go
use master
go
restore database [DB_NAME] with recovery
alter database [DB_NAME] set multi_user

mar-push
После того, как я перевела базу в режим offline, я смогла detach-нуть её. На у потом восстановила с заменой файлов базы данных.
Можно было и дропнуть, как я писал. Меньше писать :-)
8 дек 15, 00:49    [18527059]     Ответить | Цитировать Сообщить модератору
 Re: база на резервном сервере в режиме standby/Readonly - как восстановить из bak?  [new]
pXn
Member

Откуда: Косопузая
Сообщений: 45
alexeyvg,

И все же это работает.

В сессии 72 в цикле постоянно крутится select. Она постоянно активна
select spid, waittype, lastwaittype, DB_NAME(dbid) as dbname from sys.sysprocesses where dbid = 7 

spid waittype lastwaittype dbname
72 0x0063 ASYNC_NETWORK_IO tst1
73 0x0000 MISCELLANEOUS tst1
75 0x0000 MISCELLANEOUS tst1

Указанный скрипт запускаю из SSMS в контексте tst1.
Для 72 сессии получаю:
Msg 10054, Level 20, State 0, Line 0
Ошибка на транспортном уровне при получении результатов с сервера. (provider: Поставщик TCP, error: 0 - Удаленный хост принудительно разорвал существующее подключение.)

Для скрипта восстановления:
Nonqualified transactions are being rolled back. Estimated rollback completion: 100%.
RESTORE DATABASE successfully processed 0 pages in 1.167 seconds (0.000 MB/sec).

Для 73 сессии в названии окна запроса "SQLQuery7.sql...not connected*"
8 дек 15, 11:23    [18528310]     Ответить | Цитировать Сообщить модератору
 Re: база на резервном сервере в режиме standby/Readonly - как восстановить из bak?  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31438
pXn
И все же это работает.

В сессии 72 в цикле постоянно крутится select. Она постоянно активна
...
Указанный скрипт запускаю из SSMS в контексте tst1.
Эээ, и в скрипте первой строкой use master?
Странно, и сервер при этом не остваляет один коннект, а убивает все?
Ни разу такого не получалось.

Я всегда делал это в контексте базы, и вот тогда сервер убивает все коннекты, кроме того, где выполнялась команда alter database
Далее можно выполять команды в констектсе этой базы, либоЮ, если это невозможно, переключиться в контекст мастера, и быстро выполнить то, что нужно (пока её не захватил какой то другой коннект.
8 дек 15, 14:40    [18530036]     Ответить | Цитировать Сообщить модератору
 Re: база на резервном сервере в режиме standby/Readonly - как восстановить из bak?  [new]
pXn
Member

Откуда: Косопузая
Сообщений: 45
alexeyvg,
Да, именно так - первой строкой use master (но при этом окно скрипта открыто в контексте нужной БД)

Я думаю, разница ничтожна, где на мастер переключаться.

Как в Вашем, так и в моем варианте, есть вероятность, что после смены контекста БД на мастер, в эти доли микросекунд до начала следующей команды коннект к БД может быть перехвачен :)
8 дек 15, 15:59    [18530670]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / Microsoft SQL Server Ответить