Sql-Server

sql2000如何將多個日誌文件合併為一個ldf文件

  • June 4, 2010

我正在使用 DETACH 將數據庫從 SQL 2000 複製到另一台伺服器上的 2008 實例,將 windows 文件複製到 2008 伺服器,然後最後 ATTACH。我來到了一個數據庫,其中 LOG 文件位於 2 個 Windows 文件中:

name                          fileid filename                            size         maxsize    growth      usage

MasterScratchPad_Data     1      C:\SQLDATA\MasterScratchPad_Data.MDF    6041600 KB   Unlimited  5120000 KB  data only
MasterScratchPad_Log      2      C:\SQLDATA\MasterScratchPad_Log.LDF     2111304 KB   Unlimited  10%         log only
MasterScratchPad_X1_Log   3      E:\SQLDATA\MasterScratchPad_X1_Log.LDF  191944 KB    Unlimited  10%         log only

我希望只有一個文件用於日誌(即我可以將其放大並調整增長參數,但在將數據庫升級到 SQL2008 之前我希望它只是一個文件)。

我已經備份了數據庫。我已發布:BACKUP LOG MasterScratchPad WITH TRUNCATE_ONLY。我在兩個 LOG 文件上執行了多個 DBCC SHRINKFILE 命令。最近的嘗試是 DBCC SHRINKFILE(MasterScratchPad_X1_Log, 0) 但結果如上。

我怎樣才能實現只有一個 .LDF 的目標?我找不到有關如何刪除文件 ID 為 3 的文件和/或如何將多個文件合併到一個日誌文件中的任何資訊。

這是相當簡單的……下面是您的腳本。需要幫助請叫我。

謝謝!

-虛擬機

採用

$$ MasterScratchPad $$ 走

更改數據庫

$$ MasterScratchPad $$ 刪除文件$$ MasterScratchPad_X1_Log $$ 走

也就是說,要注意你的所作所為。單文件(數據庫、日誌)數據庫比多文件數據庫慢 - 每個都有 X 個文件是有充分理由的,X 是核心數。微軟對此都有很好的記錄 - 但似乎很多人不喜歡閱讀(我很少在這些和其他一些方面看到稱職的 SQL 管理員)。

引用自:https://serverfault.com/questions/148036