Отслеживание изменений SQL Server vs Replication vs Differential Backup

Хорошо, что у нас есть критическая транзакционная база данных и ее режим полного восстановления в SQL Server 2008. У нас есть два разных сервера в двух разных центрах обработки данных на двух разных часовых поясах. И я пытаюсь настроить лучший способ сделать базу данных максимально возможной, используя различные параметры. База данных в настоящее время составляет всего 1,5 ГБ, ожидается, что она вырастет на 1 ГБ каждые 6 месяцев.

Мы использовали простое решение, используя SMO, чтобы создать ПОЛНОЕ резервное копирование в полночь 1 утра, а затем выполнять дифференциальное резервное копирование каждые 15 минут. И мы передаем эти данные другим серверам, которые работают как подчиненные, и мы восстанавливаем данные на ведомых. Таким образом, все подчиненные работают на 15 минут по сравнению с текущей БД, поэтому в случае аварии мы будем иметь данные до последних 15 минут.

Теперь я хочу сравнить это решение в отношении репликации и отслеживания изменений.

Как репликация, так и отслеживание изменений ставят некоторые дополнительные метаданные в БД, чтобы делать все, что они делают, и использовать использование процессора немного больше. Однако они не будут больше нагружать процессор (насколько я понимаю) по сравнению с Diff Backup. Я предполагаю, что Diff Backup будет поддерживать некоторые транзакции, ожидающие или увеличивающие некоторые ожидающие очереди, и это может привести к задержке или потере информации, когда пользователи ее используют.

Мне нужно знать, будет ли Diff Backup каждые 15 минут больше загружать сервер? Или его действительно не рекомендуется использовать Diff Backups каждые 15 минут, когда транзакции обрабатываются?

Примечание. Транзакции применяются только на Первичном сервере, и они применяются к ведомым устройствам, использующим резервное восстановление. Журнал Доставка не отправляет изменения схемы, и как-то, если она перестает работать, мы не можем получить никаких уведомлений об ошибках, в нашем собственном решении мы получаем сообщения по электронной почте к нам, что помогает нам.

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

Доставка журнала передает все в базе данных, включая схему, а также пользователей, разрешения, индексы, данные и т. Д. И т. Д. Вы не указали, когда вы переносите резервные копии журнала. Выполнение дифференциальной резервной копии каждые 15 минут кажется излишним. Дифференциальные резервные копии являются кумулятивными, они содержат каждое изменение с момента последней полной резервной копии, поэтому они будут увеличиваться в размере в течение дня. 15 минут звучат как период времени для периодических резервных копий журнала, а не дифференциальных.

Доставка журналов зависит от операций копирования файлов из задания агента SQL. Таким образом, он должен получить доступ к общим папкам и требует проверки подлинности. На разных доменах вам потребуется либо прямой доступ, либо VPN-сервер.

Зеркалирование базы данных также создает идентичную копию базы данных, но ее окно потери данных занимает до нескольких секунд, в отличие от интервала резервного копирования журнала при отправке журнала. Зеркалирование базы данных поддерживает специальное соединение, открытое между двумя серверами, и главный отправляет каждую транзакцию в зеркало, как это происходит, в режиме реального времени. Поскольку зеркалирование конечных точек поддерживает аутентификацию на основе сертификатов, его можно легко настроить на перекрестные домены и не требует VPN. DBM может быть синхронным (каждая транзакция на главном ожидает, пока зеркало подтвердит его до фиксации, иначе высокий режим безопасности) или асинхронно (главный напишет перед зеркалом и совершит немедленный, например, высокопроизводительный режим). Если связь потеряна, руководитель начнет работать «разоблачен», поэтому вы не потеряете обслуживание, но вы подвержете себя потерю данных. Как только связь восстановится, директор подаст зеркало в ожидающую очередь транзакций (т. Е. Часть файла LDF, которая еще не была отправлена), пока зеркало не обновится до настоящего времени. Все это автоматическое, и в SSMS есть средства мониторинга, которые могут быть настроены для отправки уведомлений, когда связь теряется, когда руководитель запускается разоблаченным, когда неотправленная очередь растет по заранее заданному размеру.

Зеркалирование оборудования: вам нужно поговорить с поставщиком оборудования или с операторами вашего центра обработки данных. Это стоит целое состояние.

Полное зеркальное отображение базы данных – это, безусловно, лучший вариант.

Мы нашли наше собственное решение, как следует,

  1. Зеркалирование и отправка журналов требуют VPN и высокой безопасности. Таким образом, мы сбрасывали их.
  2. Зеркалирование и отправка журналов и почти все методы синхронизации SQL Server действительно не заботятся об использовании пропускной способности сети, и они ничего не сжимают.

MSDN говорит, что резервное копирование по дифференциальным файлам выполняется быстрее, мы выбрали дифференциальные резервные копии файлов. Да, в течение 15 минут он выглядит немного переполненным, но они быстрее и надежнее. И в течение 24 часов накопившиеся изменения составляют всего несколько МБ.

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

База данных slave Plus может быть где угодно через Интернет. Резервные копии защищены и сжимаются паролем. А небольшой HTTP-сервер, встроенный в веб-сервер, передает данные с одного компьютера на другой, поэтому требуется меньше накладных расходов на конфигурацию.

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

  • Как я могу поддерживать ежедневные резервные копии SQL Server в App Harbor / Sequelizer
  • Ошибка восстановления резервной копии SQLSERVER 2008R2 до SQLSERVER 2008
  • Получить по умолчанию резервный путь для сервера sql prgrammatiacally
  • Самая быстрая стратегия резервного копирования / восстановления баз данных Azure SQL?
  • Создание файла резервной копии SQL Server (.bak) с помощью c # в любом месте
  • Как создать резервную копию базы данных SqlServer с помощью .Net?
  • T-sql для проверки SQL Server EDITION может сжимать резервную копию
  • Получение инкрементных резервных копий базы данных SQL Server 2008
  • Резервные копии SP Studio / UDF
  • Как восстановить из сгенерированных скриптов
  • Как проверить резервные копии базы данных
  • Interesting Posts

    Почему «HASH JOIN» или «LOOP JOIN» улучшают эту сохраненную процедуру?

    Создать таблицу с указанием суммы рецепта на каждый день в квартале

    Какой тип данных используется вместо типа данных «ntext»?

    Каковы преимущества запроса с использованием производной таблицы (таблиц) по запросу, не использующему их?

    Рассчитывать на два столбца в SQL Server?

    Как полностью удалить VS 2013 и SQL Server Data Tool

    Когда RAISERROR срабатывает в хранимой процедуре?

    В SQL Server почему 12538335.3 не десятичный (10, 4)?

    Должен объявить скалярную переменную

    Как получить вставленный идентификатор строки с помощью WebMatrix

    как вставлять вычитание из двух последующих строк и вставлять их в новый столбец

    Sql Server Profiler трассирует таймаут в web-приложении

    Как вы обрезаете все таблицы в базе данных с помощью TSQL?

    Приращение varchar в SQL

    Требуется более быстрый конкат столбцов в таблице sql-сервера

    Давайте будем гением компьютера.