SQLSERVER зеркалирование VS Доставка журналов - PullRequest
2 голосов
/ 27 июля 2010

Мне нужна помощь в понимании зеркалирования для следующего примера.

основной сервер в FL Зеркальный сервер в Германии

Мое приложение выполняет вставку в таблицу для системы FL

Случай 1: зеркальный сервер не работает - проблема с сетью - Я предполагаю, что вставка будет записана в журнал транзакций на основной - Он не будет записан на диск Что произойдет, если кто-то попытается запросить базу данных FL. Будет ли он видеть последнюю транзакцию [insert]? Когда SQL-сервер выполняет запрос, он просматривает как БД, так и tlog?.

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

СЛУЧАЙ 3: Если зеркало не работает какое-то время (неделя). Лучше разбить зеркалирование. Кроме того, означает ли это, что мне пришлось снова сделать полную резервную копию БД, чтобы перенастроить зеркалирование

1 Ответ

0 голосов
/ 27 июля 2010

Вы не указали, какое зеркалирование, поэтому я приму высокую безопасность с автоматическим переключением при сбое

CASE 1: Принципалбудет в отключенном состоянии.Транзакции будут зафиксированы на диске на основном сервере, но не на зеркале (очевидно).Транзакции останутся в «активной» части журнала и не будут сохранены.т.е. вы увидите, что ваш журнал транзакций будет расти, и столбец log_reuse_wait_desc в sys.databases будет ЗЕРКАЛО.База данных FL будет оставаться в автономном режиме и находиться в отключенном состоянии.Вы не сможете запросить его, если не используете что-то вроде FORCE_SERVICE_ALLOW_DATA_LOSS, чтобы перевести его в онлайн, и в этот момент вы разбили свое зеркало (хотя директор еще не знает об этом и продолжит хранить журналы)

CASE 2: Журнал транзакций будет продолжать расти в соответствии с вашими настройками автоматического роста.Это обычный случай с автоматическим наращиванием журналов, каждый раз, когда вы получаете автоматическое наращивание, у вас будут накладные расходы, и, возможно, у вас будет много виртуальных файлов журналов.Вероятно, лучше всего установить для autogrow что-то разумное, чтобы оно не росло с шагом 50 МБ.

CASE 3: Это зависит от того, насколько изменилось изменение данных по сравнению с размером полногорезервное копирование базы данных, которое необходимо будет скопировать между сайтами для повторного запуска зеркалирования.В SQL Server 2008 у вас есть такие параметры, как сжатие журналов, что означает, что вы можете выполнять больше транзакций по проводной сети с меньшей пропускной способностью (если вы ее используете)

...