1. 程式人生 > >sql server資料庫日誌已滿處理方法

sql server資料庫日誌已滿處理方法

sqlserver 2008之前版本的資料庫:
  1.清空日誌
     DUMP     TRANSACTION     資料庫名     WITH     NO_LOG
   2.截斷事務日誌:
      BACKUP   LOG   資料庫名   WITH   NO_LOG
   3.收縮資料庫檔案(如果不壓縮,資料庫的檔案不會減小

      DBCC SHRINKDATABASE('資料庫名', --要收縮的資料庫名稱或資料庫ID

                                             50, --收縮後,資料庫檔案中空間空間佔用的百分比

                                             TRUNCATEONLY --在收縮時,只是把檔案尾部的空閒空間釋放 )

從sqlserver 2008開始,上面的方法便不再適用,替代方法如下:

  1. ALTER DATABASE 資料庫名 SET RECOVERY SIMPLE

  2. DBCC SHRINKDATABASE('資料庫名', --要收縮的資料庫名稱或資料庫ID

                                                 50, --收縮後,資料庫檔案中空間空間佔用的百分比

                                                 TRUNCATEONLY --在收縮時,只是把檔案尾部的空閒空間釋放 )

  3. ALTER DATABASE 資料庫名 SET RECOVERY FULL