반응형
  1. /**********************************************************************************************
    -- Title : [2k] 데이터베이스, 파일, 트랜잭션 로그, 가상 로그 축소하기
    -- Reference : dbRang.com
    -- Key word : shrinkdatabase, shrinkfile, loginfo, sqlperf
    **********************************************************************************************/
    -- 파일 지정 없이 축소하기(10% 여유 공간을 남김)
    DBCC SHRINKDATABASE (sample_db, 10)
    GO

    -- 특정 파일 축소하기(해당 수치(MB)로 축소)
    DBCC SHRINKFILE(sample_dat, 300)
    GO

    DBCC SHRINKFILE (sample_log, 50)
    GO

    -- 가상 로그 파일 축소하기
    -- 가상 로그 파일이 25개 이상일때는 제거 후 트랜잭션 로그 파일을 적절한 크기로 변경한다.
    USE sample
    GO

    DBCC LOGINFO
    GO

    -- 로그를 삭제한다.
    BACKUP LOG sample TO DISK='d:\sample_log.bak'
    /*또는*/
    BACKUP LOG sample WITH NO_LOG
    /*또는*/
    BACKUP LOG sample WITH TRUNCATE_ONLY

    -- 트랜잭션 로그 파일의 크기를 가능한 작은 크기로 축소한다.(왜??)
    EXEC sp_helpfile
    GO

    DBCC SHRINKFILE(sample_log,TRUNCATEONLY)
    GO

    -- 로그 파일의 크기를 적절하게 변경한다.
    ALTER DATABASE sample
    MODIFY FILE
      ( NAME='sample_log'
      , SIZE = 30
      )
    GO

    -- Feelanet Test(로그파일 줄이기)
    DBCC SQLPERF (LOGSPACE)
    go
    alter database credit set recovery simple
    go

    backup log credit with no_log
    go

    DBCC SHRINKFILE (credit_log, 128)
    DBCC SQLPERF ( LOGSPACE )
    go

    alter database credit set recovery full
    go

    backup database credit to disk='c:\test\credit_bak.dat' with noinit
    go
반응형

+ Recent posts