Доставка журнала — игнорировать удаления в определенной таблице

#sql #tsql #log-shipping

#sql #tsql #доставка журнала

Вопрос:

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

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

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

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

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

Есть ли какой-либо способ настроить доставку журналов для определенной таблицы, чтобы не отправлять запросы на удаление? Если нет, у кого-нибудь есть хорошее предложение для этого (кроме «написать скрипт, который запускается каждый день»)?

Ответ №1:

Нет. Доставка журналов предназначена для репликации всей базы данных. Невозможно использовать доставку журналов для сохранения всей истории вашей таблицы при ее удалении — вам придется написать что-то пользовательское.