Ведение журнала транзакций в базе данных Mirror


10

Версия SQL Server: 2008 R2 Enterprise SP2

Я пытаюсь разобраться с нашим обслуживанием SQL Server, и я столкнулся с чем-то, что я считаю неправильным. У нас есть один производственный экземпляр с 3 базами данных, каждая из которых зеркально удалена от экземпляра DR.

Глядя на экземпляр DR, я заметил, что файлы LDF были огромными, более 35 ГБ для интенсивно используемых баз данных.

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

Мы делаем резервные копии журналов на основной базе данных, и мой вопрос в том, что за ошибки в создании резервной копии журнала на зеркале?

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

Опять же, это рекомендации по ведению журнала транзакций в базе данных MIRROR .

Спасибо за любой вклад

Ответы:


5

Мы делаем резервные копии журналов на основной базе данных, и мой вопрос в том, что за ошибки в создании резервной копии журнала на зеркале?

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

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

Вы также не можете сделать полное резервное копирование базы данных в зеркальной базе данных.

Возьмем для примера: у меня есть Server1база данных AdventureWorks2012, а у меня Server2зеркало. Вот что происходит, когда я пытаюсь запустить резервное копирование в зеркальной базе данных (вкл Server2):

use master;
go

backup database AdventureWorks2012
to disk = 'c:\sqlserver\AW_mirror.bak';
go

Сообщение 954, уровень 14, состояние 1, строка 2
Невозможно открыть базу данных "AdventureWorks2012". Он действует как зеркальная база данных .
Сообщение 3013, уровень 16, состояние 1, строка 2
BACKUP DATABASE завершается ненормально.

backup log AdventureWorks2012
to disk = 'c:\sqlserver\AW_mirror.trn';
go

Сообщение 954, уровень 14, состояние 1, строка 1
Невозможно открыть базу данных "AdventureWorks2012". Он действует как зеркальная база данных .
Сообщение 3013, Уровень 16, Состояние 1, Строка 1
РЕЗЕРВНОЕ КОПИРОВАНИЕ завершается ненормально.

Взгляните на этот FAQ по зеркальному отображению базы данных Роберта Дэвиса . Я процитирую его относительно этой операции и ведения журнала транзакций зеркальной базы данных:

При резервном копировании журнала на субъекте файлы виртуального журнала (отдельные блоки в файле журнала) помечаются как перезаписываемые. Те же VLF помечены как перезаписываемые в файле журнала зеркал. Состояние VLF отражается в базе данных .

Так что у вас есть это. Если у вас есть резервные копии журналов транзакций на субъекте, то подобное поведение повторного использования журналов будет отражено в его партнерской базе данных.


Я ненавижу это, когда есть статья, которая отвечает на мой точный вопрос, и я не нахожу это. Это имеет смысл, когда я взял журналы, резервные копии которых не создавались и стали очень большими на основном сервере, поэтому после начала регулярного резервного копирования я сжал журналы, но не думал делать это на зеркале. Спасибо!
Джереми Грунд

1
Дополнительный вопрос заключается в том, можно ли уменьшить размер перераспределенного журнала транзакций теперь, когда у нас есть регулярные резервные копии журнала транзакций на основном сервере?
Джереми Гранд

@JeremieGrund Один из способов сделать это - переключиться на зеркальную базу данных и выполнить сжатие там. Тщательно проверьте это в непроизводственной среде, чтобы убедиться, что она работает так, как вы хотите / ожидаете.
Томас Стрингер

0

@JeremieGrund - Если физическая файловая архитектура базы данных одинакова (имена и расположение дисков с данными и файлами журналов), то при сжатии файла журнала на основном сервере команда сжатия будет отправлена ​​на зеркало и сделает то же на зеркале. Таким образом, ваш файл журнала зеркала может быть сохранен .. Если файловая архитектура не идентична, вы должны следовать предложению Томаса Стрингера.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.