Могут ли группы доступности заменить репликацию транзакций?

8

Я смотрел на новые функции SQL Server 2012, и как он может помочь моей текущей ситуации.

В настоящее время мы находимся на SQL Server 2008 R2 и реплицируем базы данных двух OLTP-серверов на один сервер отчетов посредством репликации транзакций. Затем мы используем эти реплицированные БД для составления отчетов.

Меня интересует, могут ли SQL Server 2012 и группы доступности заменить это - поэтому вместо репликации транзакций я бы использовал новые группы доступности и отобразил бы базы данных двух серверов OLTP на сервере отчетов - где будет возможность создания отчетов. для доступа к репликам только для чтения.

Я не уверен, будет ли это работать хорошо, или даже вообще.

Я хотел бы уйти от репликации, так как это вызывает проблемы с моей стратегией развертывания (с использованием VSDBCMD.exe). Я также хотел бы избежать задержек при повторной инициализации репликации на больших БД.

У кого-нибудь есть хорошие примеры или опыт с этим? Возможно ли зеркалирование с помощью читаемых реплик с нескольких серверов на один сервер в соответствии с обычным зеркалированием в более низких версиях?

Первоначально это было задано здесь: /programming/10415225/mirroring-and-availability-groups-in-sql2012 К сожалению, я не думаю, что могу перенести вопросы еще.

Meff
источник

Ответы:

10

Смахнул с моего ответа на StackOverflow только для того, чтобы другие не тратили усилия на ответ такого же типа.

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

Самым большим преимуществом является то, что вторичный сервер может быть помечен как доступный только для чтения, поэтому вы можете запускать все отчеты, которые вам нужны, и это никак не повлияет на зеркалирование. Вам просто нужен более крутой tempdb (поскольку для этого он использует rcsi).

Конечно, вы должны знать, что обе стороны AG должны быть полностью лицензированы, чтобы использовать реплику для операций только для чтения. И обеим сторонам необходимо работать в определенных версиях Windows (Enterprise или лучше в 2008 R2 и ниже; Standard или лучше в 2012 и выше), потому что они требуют отказоустойчивой кластеризации - экземпляры SQL в AG не нужно кластеризовать, но они должны находиться поверх этой инфраструктуры в ОС.

Аарон Бертран
источник
Спасибо Аарон, я оставлю это открытым для других ответов, так как я надеюсь получить здесь больше мнений, чем Stack Overflow :)
Meff
Не беспокойся, я вроде как подозревал, поэтому ты повторил это здесь и не пытался задушить это. Просто пытаюсь помочь уменьшить усилия.
Аарон Бертран
Просто подумал, что могу указать, что Windows Server 2012 не требует корпоративной версии для отказоустойчивой кластеризации. Теперь это доступно в стандарте.
SomeGuy
@ SomeGuy это правда, но не потому ли, что они забрали Enterprise Edition и закончили Standard? Четыре версии Windows Server 2012 - это DataCenter, Standard (раньше назывался Enterprise), Essentials (раньше назывался SBS) и Foundations (кажется, похожи на Web?).
Аарон Бертран
7

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

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

  • Вы можете реплицировать подмножество таблиц в базе данных. Реплики группы доступности - это всегда вся база данных. Если некоторые таблицы содержат конфиденциальную информацию, доступ к аудиту будет проще, если все отчеты составляются для базы данных, которая не содержит эту информацию.
  • Вы можете фильтровать реплицируемые строки, обеспечивая высокий уровень детализации. Например, вы можете реплицировать информацию, специфичную для отдела, на множество серверов отчетов департаментов, каждый из которых имеет доступ только к своей информации.
  • Вы можете иметь совершенно другую стратегию индексации между издателем и подписчиком. С группами доступности индексы одинаковы, и хотя статистика будет создана для реплики и сохранена в базе данных tempdb, но у вас нет возможности настроить эту репликацию.
  • Проблемы с безопасностью. Как правило, пользователи отчетов подключаются напрямую к базе данных, используя SSMS, access или excel, и вы хотите ограничить их доступ только к базе данных отчетов.

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

StrayCatDBA
источник