データベースの圧縮

  • 指定したデータベース内のデータファイルとログファイルのサイズを圧縮
    DBCC SHRINKDATABASE('testdb', 10)

トランザクションログファイルの圧縮

  • 復旧モデルが完全の場合は、ファイルサイズが圧縮されない場合が有る(?)ので、以下のコマンドでトランザクションログファイルを切捨ててから「DBCC SHRINKFILE」を行うと良いかも
  • 「DBCC SHRINKFILE」と「BACKUP LOG」を交互に繰返し実行しないと、ファイルサイズが初期サイズまで戻らないことが有る気がする
  • トランザクションログ切り捨て用コマンド
    BACKUP LOG [データベース名] TO DISK = N'NUL'

実行例

  • データベースのバックアップを取った後、トランザクションログ切り捨てを3回実行する
    USE testdb
    GO
    
    BACKUP DATABASE testdb TO DISK=N'E:\MSSQL\backup\testdb.bak' WITH INIT, COMPRESSION
    
    BACKUP LOG testdb TO DISK=N'NUL'
    DBCC SHRINKFILE('testdb_log', 1)
    BACKUP LOG testdb TO DISK=N'NUL'
    DBCC SHRINKFILE('testdb_log', 1)
    BACKUP LOG testdb TO DISK=N'NUL'
    DBCC SHRINKFILE('testdb_log', 1)
    • 最初の「USE testdb」がないと、後半の「DBCC SHRINKFILE」の実行時に「ファイルが見つからない」というエラーが発生してしまうので注意

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2022-02-28 (月) 14:49:48 (788d)