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

Откуда: Кокосовые острова ส็็็็็
Сообщений: 5133
Проблема стара как мир и на первый взгляд казалась элементарной.
есть 2 сервера, первый боевой, на котором свыше десятка огромнейших баз, второй планируется сделать как копию.
и 3 варианта решения:
1 - синхронизация - не подходит, т.к. слишком трудоемкий
2 - репликации - не подходит т.к. постоянно меняются структуры данных
3 - бэкапами. Т.е. идея заключалась в том чтобы один раз скопировать на резервный сервер полные бэкапы баз, а затем раз в сутки догонять их разностыми. Но на практике этого не получилось.
Скрипт:

ALTER DATABASE Consulting
SET READ_WRITE WITH ROLLBACK IMMEDIATE

ALTER DATABASE Consulting
SET SINGLE_USER WITH ROLLBACK IMMEDIATE
GO
restore database Consulting from disk = 'F:\Backup\HS22-8_Consulting_weekly.bak' WITH REPLACE, FILE = 1,NORECOVERY
restore database Consulting from disk = 'D:\Diff_back\server24_Consulting.bak' with FILE = 1,NORECOVERY
restore database Consulting with RECOVERY

ALTER DATABASE Consulting SET MULTI_USER WITH NO_WAIT
GO

падает с ошибкой:
Невозможно восстановить разностную резервную копию, так как база данных не была восстановлена в более раннем состоянии.


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

Как это лучше сделать и как это вообще делается???
Прошу Вас помочь в данном вопросе.
2 авг 12, 20:10    [12955174]     Ответить | Цитировать Сообщить модератору
 Re: Синхронизация баз данных.  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37069
Мироринг.
2 авг 12, 20:14    [12955178]     Ответить | Цитировать Сообщить модератору
 Re: Синхронизация баз данных.  [new]
Александр52
Member

Откуда: Кокосовые острова ส็็็็็
Сообщений: 5133
Гавриленко Сергей Алексеевич, точно. Насколько сильно это нагрузит БД источник?
2 авг 12, 20:19    [12955185]     Ответить | Цитировать Сообщить модератору
 Re: Синхронизация баз данных.  [new]
Relic Hunter
Member

Откуда: AB
Сообщений: 7377
Гавриленко Сергей Алексеевич
Мироринг.
+ logshipping, если mirroring-a на вашем сервере нет. Такое тоже бывает.
2 авг 12, 20:27    [12955202]     Ответить | Цитировать Сообщить модератору
 Re: Синхронизация баз данных.  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37069
Александр52
Гавриленко Сергей Алексеевич, точно. Насколько сильно это нагрузит БД источник?
Ну, насколько-то нагрузит. Потестируйте на тестовом окружении.
2 авг 12, 20:32    [12955214]     Ответить | Цитировать Сообщить модератору
 Re: Синхронизация баз данных.  [new]
rector
Member

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

А на втором сервере планируется изменение данных или базы должны быть доступны для чтения ?

у меня есть одна среда, на которой использую схему бэкап-рестор.
Делается полный бэкап, из него восстанавливается база на резервном сервере с параметром NO Recovery
Далее делаем бэкапы логов и восстанавливаем N-1 лог, опять же с NO Recovery.
Таким образом поддерживаем "копию" базы. Если случится сбой, восстановим последний лог Recovery и получим актуальную копию на момент последней резервной копии лога, которая поднимается за считанные минуты.

Такое решение - прихоть заказчика.
Плюс в том, что бэкапы регулярно делаются :)
4 авг 12, 00:50    [12961373]     Ответить | Цитировать Сообщить модератору
 Re: Синхронизация баз данных.  [new]
vlas
Member

Откуда: Москва
Сообщений: 112
Все это можно сделать без проблем репликацией типа snapshot.Есть только одна тонкость. Сделать два джоба перед созданием и после формирования снашота на публикаторе.В первом джобе при формировании публикации добавляются в публикацию требуемые таблицы, а во втором из репликации убираются все таблицы.Тем самым вы можете менять структуру в изначальной БД и они без проблем дойдут в реплицируемую БД.У меня так давно и бесперебойно работает репликация.
4 авг 12, 13:34    [12961879]     Ответить | Цитировать Сообщить модератору
 Re: Синхронизация баз данных.  [new]
Александр52
Member

Откуда: Кокосовые острова ส็็็็็
Сообщений: 5133
vlas
Все это можно сделать без проблем репликацией типа snapshot.Есть только одна тонкость. Сделать два джоба перед созданием и после формирования снашота на публикаторе.В первом джобе при формировании публикации добавляются в публикацию требуемые таблицы, а во втором из репликации убираются все таблицы.Тем самым вы можете менять структуру в изначальной БД и они без проблем дойдут в реплицируемую БД.У меня так давно и бесперебойно работает репликация.

АПАПАП! :)
задачку конечно уже решил, НО:
только сейчас прочитал этот ответ.

Если я правильно понял - делаем 2 джобы в первой вызываем публикацию моментальных снимков, в которой указываем N таблиц. Затем, как прольется, запускаем вторую джобу(или второй шаг) - в которой вызываем публикацию моментальных снимков, но уже без указания таблиц?
Так??? Нельзя же сделать репликацию без таблиц...или я неправильно Вас понял
20 сен 12, 18:27    [13198121]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить