powered by simpleCommunicator - 2.0.50     © 2025 Programmizd 02
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Актуализация базы
12 сообщений из 12, страница 1 из 1
Актуализация базы
    #40110157
huttorok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день.

Прошу помочь определить оптимальную схему репликации.
Есть два сервера СУБД - условно прод и тест. Нужно несколько раз в день получать все изменения с прода и обновлять тест (желательно минимизировать время восстановления).
При этом после обновления в тесте базы должны быть online и данные доступны для изменения.
Пользователи проводят тестирование выделенное время, далее цикл повторяется - внесенные изменения в тесте откатываются/удаляются и выполняется обновление данными прода.

Базы ~2ТБ, полное восстановление занимает 16 часов. За сутки в проде обновляется ~5% записей.
...
Рейтинг: 0 / 0
Актуализация базы
    #40110162
Фотография Критик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
huttorok,

Используйте возможности схд
...
Рейтинг: 0 / 0
Актуализация базы
    #40110174
SERG1257
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
решение "в лоб"

имеем две базы RESTORING и DEV при том что RESTORING будет восстановлена с NORECOVERY, а DEV с RECOVERY
Меняем DEV как хотим.
Далее переводим RESTORING в STANDBY и затем в OFFLINE
Переводим DEV в OFFLINE
Перезаписываем файлы данных (mdf) и файл лога (ldf) на тот что из RESTORING
Тут надо померить будет ли выгода по времени по сравнению с восстановлением

открываем обе базы в онлайн
Накатываем логи на RESTORING

Другой вопрос можно ли разбить большие таблицы на текущие данные (в PRIMARY файловой группе) и архивные (в READ_ONLY файловой группе). Тогда архивную файловую группу можно будет пропустить.
Это имеет смысл сделать даже вне контекста "Актуализации базы" чисто для ускорения бакапа и восстановления
...
Рейтинг: 0 / 0
Актуализация базы
    #40110227
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
huttorok,

для тестирования, как правило, не требуются " все изменения с прода", а если требуются, то такая частая загрузка не нужна. Надо у вас что-то в консерватории тестировщиков подправить...
...
Рейтинг: 0 / 0
Актуализация базы
    #40110239
Фотография komrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
huttorok,

как идея - можно попробовать Transactional replication и snapshot.

С прода в тест настроить репликацию.
В нужный момент её останавливать и делать снэпшот базы.
Проводить тестирование и восстанавливать базу в исходное состояние из снэпшота.
Запускать репликацию для синхронизации с продом (тут надо проверить, сработает ли).
...
Рейтинг: 0 / 0
Актуализация базы
    #40110462
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Критик
huttorok,

Используйте возможности схд
Думаю, задача "восстанавливать базу несколько раз в день" решается только таким способом.

Все остальные предложенные варианты предполагают в каком то виде копирование данных, и очень быстро это сделать нельзя.
...
Рейтинг: 0 / 0
Актуализация базы
    #40110475
flexgen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
huttorok
Добрый день.

Прошу помочь определить оптимальную схему репликации.
Есть два сервера СУБД - условно прод и тест. Нужно несколько раз в день получать все изменения с прода и обновлять тест (желательно минимизировать время восстановления).
При этом после обновления в тесте базы должны быть online и данные доступны для изменения.
Пользователи проводят тестирование выделенное время, далее цикл повторяется - внесенные изменения в тесте откатываются/удаляются и выполняется обновление данными прода.

Базы ~2ТБ, полное восстановление занимает 16 часов. За сутки в проде обновляется ~5% записей.


Восстановление 2-х ТБ базы за 16 часов - что-то долго.

Можно попробовать сделать следующее - после восстановления базы на Тесте устанавливаем GoldenGate for SQL Server на Проде и на Тесте, настраиваем и запускаем репликацию с Прода на Тест. Перед тем как начинается тестирование останавливаем репликацию на Тесте, снимаем Database snapshot, и отдаем базу на тестирование. По завершении тестирования восстанавливаем базу из snapshot и вновь запускаем GoldenGate репликацию.
Сам так не делал, но вполне возможно что сработает. Ради интереса завтра попробую сделать такое между двумя серверами на Тесте.
Надо иметь ввиду что GoldenGate стоит денег. Преимущество в том что GG читает данные из transaction log файла, его можно остановить в любой момент и продолжить с той же точки, на которой остановился. Небольшое сомнение вызывает восстановление из snapshot, но это я проверю.
...
Рейтинг: 0 / 0
Актуализация базы
    #40110476
huttorok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо за ответы.

В целом какой-то "серебряной пули" для решения задачи я так понял нет.
Буду думать в направлении разделения больших таблиц на текущие данные и архивные.
...
Рейтинг: 0 / 0
Актуализация базы
    #40110480
huttorok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
flexgen,

вроде по описанию что-то похожее можно сделать и на репликации слиянием.
Но возникают вопросы - на сколько она вообще эффективна.
...
Рейтинг: 0 / 0
Актуализация базы
    #40110587
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
huttorok,

серебряная пуля есть - это сделать менее ... экзотическим процесс тестирования.
...
Рейтинг: 0 / 0
Актуализация базы
    #40110839
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
huttorok
В целом какой-то "серебряной пули" для решения задачи я так понял нет.
Пуля есть, она в первом ответе.
Но недешёвая пуля, не серебряная :-)
...
Рейтинг: 0 / 0
Актуализация базы
    #40110840
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
huttorok
вроде по описанию что-то похожее можно сделать и на репликации слиянием.
Нет, быстрые откаты на некие точки сохранения она неспособна делать.
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Актуализация базы
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]