mssql msdb 테이블 내용 일부 삭제

ms-sql 을 운용하다 보면 msdb 데이터베이스에 많은 자료가 저장될수 있다
보통의 경우 agents 실행 백업정보를 담고 있는데 여기서 2년된 자료를 삭제하는 쿼리문을 알아보도록 하자
DECLARE @backupID int
DECLARE @mediaID int
DECLARE @restoreID int
DECLARE @year char(4)
DECLARE @month char(2)
DECLARE @day char(2)
DECLARE @deleteday char(10)
 
SET @year = year(getdate())-2 — 2년전
SET @month = month(getdate())
SET @day = day(getdate())
IF len(@month) = 1
SET @month = ‘0’+ @month
IF len(@day) = 1
SET @day = ‘0’+ @day
SET @deleteday = @year +’-‘+ @month +’-‘+ @day
SELECT TOP 1 @backupID = backup_set_id, @mediaID = media_set_id from msdb..backupset
where
backup_finish_date > @deleteday
SELECT TOP 1 @restoreID = restore_history_id From msdb..restorehistory
Where
restore_date > @deleteday
delete from msdb..restorefile where restore_history_id < @restoreID
delete from msdb..restorefilegroup where restore_history_id < @restoreID
delete from msdb..restorehistory where restore_history_id < @restoreID or backup_set_id < @backupID
delete from msdb..backupfile where backup_set_id < @backupID
delete from msdb..backupmediafamily where media_set_id < @mediaID
delete from msdb..backupset where backup_set_id < @backupID
use msdb
DBCC SHOWCONTIG
DBCC DBREINDEX (restorefile, ”, 100)
DBCC DBREINDEX (restorefilegroup, ”, 100)
DBCC DBREINDEX (restorehistory, ”, 100)
DBCC DBREINDEX (backupfile, ”, 100)
DBCC DBREINDEX (backupmediafamily, ”, 100)
DBCC DBREINDEX (backupset, ”, 100)
출저 : http://zasfe.com/index.php/archives/images/tagcloud.swf?page=10

코멘트 쓰기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다.

다음의 HTML 태그와 속성을 사용할 수 있습니다:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>



배송정보
배송조회를 하시려면 송장번호를 클릭하세요
배송조회
상품명
주문번호
택배사
송장번호