База данных SQL в асинхронной репликации AO - файл журнала не отображается после резервного копирования - PullRequest
0 голосов
/ 11 октября 2018

У меня есть база данных, размер файла журнала которой составляет 527 ГБ, что показывает почти 100% использования.БД находится в AO Асинхронная репликация с другим сервером SQL.БД находится в режиме полного резервного копирования, а резервное копирование журнала происходит каждый час.Я попытался сжать файл журнала, он не работал, дал мне следующее сообщение.

Msg 1468, Level 16, State 2, Line 2
The operation cannot be performed on database "MYDB" because it is involved in a database mirroring session or an availability group. Some operations are not allowed on a database that is participating in a database mirroring session or in an availability group.
Msg 5069, Level 16, State 1, Line 2
ALTER DATABASE statement failed.
The log for database 'MYDB' cannot be shrunk until all secondaries have moved past the point where the log was added..

(1 row(s) affected)
DBCC execution completed. If DBCC printed error messages, contact your system administrator.

Я думаю, что это не происходит из-за репликации, все журналы не передаются, и это было все время.Как решить проблему, не вынимая базу данных из группы репликации AO?Я могу перевести его в синхронный режим, но не хочу, чтобы он выходил из АО.

1 Ответ

0 голосов
/ 11 октября 2018

Чтобы выяснить причину вашей проблемы, взгляните на результаты запроса ниже (поле log_truncation_holdup_reason):

select * from sys.dm_db_log_stats(db_id('YourDatabaseName'))

UPD: Для версий ниже 2016 SP2 вы можетеполучить то же самое с помощью запроса:

SELECT log_reuse_wait_desc
FROM sys.databases
WHERE name = 'YourDatabaseName'

Если это AVAILABILITY_REPLICA, то проверьте активные транзакции, чтобы понять, какая из них может быть причиной.

dbcc opentran

В зависимости от результатов вы сможетерешить, что делать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...