Сопровождение тиражирования сведением в SQL Server 2000 Страница 10. Контроль размеров служебных таблиц
|
Страница 10 из 11 Контроль размеров служебных таблиц Пока существует тиражирование сведением, служебные таблицы MSmerge_contents и MSmerge_tombstone неуклонно растут. Периодическая очистка этих служебных таблиц повышает производительность сведения. Для очистки применяется специальная хранимая процедура sp_mergecleanupmetadata, которая появилась еще в Microsoft SQL Server 7.0 Service Pack 2 (SP2). Она подчищает служебные таблицы MSmerge_contents и MSmerge_tombstone на издателе. Параметр reinitialize_subscriber этой процедуры по умолчанию установлен в TRUE, что означает повторную инициализацию подписки. Если используется установка FALSE, то администратор должен гарантировать, что подписчик и издатель синхронизировались. К сожалению, на время выполнения процедуры пользовательский доступ пользователей к базе запрещается. Администратор должен аккуратно: - выполнить синхронизацию;
- закрыть доступ пользователей к базе на издателе и на подписчике;
- выполнить синхронизацию с параметром -Validate;
- выполнить sp_mergecleanupmetadata на издателе;
- открыть доступ;
- сделать резервную копию базы на издателе.
Опытные администраторы используют для очистки служебных таблиц и свои собственные процедуры. Если есть гарантия, что в течение заданного времени синхронизация будет успешно выполнена, то из таблиц MSmer-ge_contents и MSmerge_genhistory можно удалить все поколения (generations), накопленные за этот период времени. В Листинге 1 показан пример хранимой процедуры, выполняющей эту работу. |