Главная » Файлы » Администрирование

Чистка протокола log_tb_change
11.11.2015, 07:19

Если не чистить протокол то он вырастет до неприличных размеров.

К таблице протокола нельзя писать delete так как эта операция заблокирует все модификации данных пользователей и будет выполняться очень долго.

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

-- Truncate the log by changing the database recovery model to SIMPLE.
ALTER DATABASE [Lite] 
SET RECOVERY SIMPLE;
GO
-- сохраняю данные в промежуточную таблицу
insert into user_log_tb_change
select * from log_tb_change where LOG_DATE > dateadd(mm,-2,getdate());
GO
--чищу таблицу протокола
truncate table log_tb_change;
GO
--возвращаю два месяца из промежуточной таблици
insert into log_tb_change
select * from user_log_tb_change;
GO
--чищу промежуточную
truncate table user_log_tb_change; 
GO
-- Reset the database recovery model.
ALTER DATABASE [Lite] 
SET RECOVERY FULL;
GO

Категория: Администрирование | Добавил: rebel25
Просмотров: 617 | Загрузок: 0 | Рейтинг: 0.0/0
Всего комментариев: 0
avatar