none
AUTO_SHRINK相關問題 RRS feed

  • 問題

  • 請問我在資料庫的選項將AUTO_SHRINK設定為on時,

    它會自動壓縮交易記錄檔嗎?

    如果會的話是會定期做還是視交易記錄檔案的大小?

    以及選擇何種復原模式會影響到這個動作的執行嗎?

    因為這句話不太了解意思,

    「只有在資料庫設為 SIMPLE 復原模式或備份記錄時,AUTO_SHRINK 才會縮減交易記錄的大小」

     

     

     

    另外請問有關於AUTO_SHRINK較詳細說明的網頁嗎?

     

     

     

    2008年11月10日 上午 07:19

解答

  • 當 AUTO_SHRINK 設定為 on 時,資料庫檔案交易記錄檔會定時(每 30 分鐘)被壓縮的前提為:
  • 未被使用的檔案空間超過檔案大小的 25% 時
  • 資料庫不是唯讀的


    復原模式是用來告訴 SQL Server 要如何清除交易記錄與如何進行資料庫備份。當資料庫被設定成「簡單」(Simple)復原模式時,並不需要記錄交易記錄的備份資訊(亦即不會備份交易記錄),這是因為 SQL Server 會自動收回交易記錄的空間,確保交易記錄所需的空間維持在最低限度內,此舉可以減少管理交易記錄所需的空間。

    你從上面的說明去思考,應該可以瞭解「只有在資料庫設為 SIMPLE 復原模式或備份記錄時,AUTO_SHRINK 才會縮減交易記錄的大小」在說啥!

    關於 AUTO_SHRINK 較詳細的說明,可以參考下面的網頁:SQL Server Storage Engine

2008年11月10日 下午 12:37
版主

所有回覆

  • 當 AUTO_SHRINK 設定為 on 時,資料庫檔案交易記錄檔會定時(每 30 分鐘)被壓縮的前提為:
  • 未被使用的檔案空間超過檔案大小的 25% 時
  • 資料庫不是唯讀的


    復原模式是用來告訴 SQL Server 要如何清除交易記錄與如何進行資料庫備份。當資料庫被設定成「簡單」(Simple)復原模式時,並不需要記錄交易記錄的備份資訊(亦即不會備份交易記錄),這是因為 SQL Server 會自動收回交易記錄的空間,確保交易記錄所需的空間維持在最低限度內,此舉可以減少管理交易記錄所需的空間。

    你從上面的說明去思考,應該可以瞭解「只有在資料庫設為 SIMPLE 復原模式或備份記錄時,AUTO_SHRINK 才會縮減交易記錄的大小」在說啥!

    關於 AUTO_SHRINK 較詳細的說明,可以參考下面的網頁:SQL Server Storage Engine

2008年11月10日 下午 12:37
版主
  • Not good idea to set that on production databases, it's performance killer.

    2008年11月10日 下午 05:56
  • 非常感謝兩位的回答,

    現在對AUTO_SHRINK也比較了解了。

    2008年11月12日 上午 08:48