Sql-Server-2012

LDF 文件大小和 MDF 文件大小之間有什麼規則嗎?

  • March 16, 2022

我正在使用 SQL Server。

我正在創建一個程序將數據從一個源數據庫複製到目標數據庫,並且需要為目標數據庫文件準備足夠的磁碟空間,包括 MDF 文件和 LDF 文件。

MDF 文件大小和 LDF 文件大小之間是否有任何規則,以便我可以估計所需的總可用空間?

如果您將源數據庫中所有相同表中的所有相同數據複製到目標數據庫,則使用現有源數據庫的文件大小和它們後面的預置磁碟作為您可能的基準大致需要您的目標數據庫。

否則,Erik Darling 在不但是真的,我的日誌文件應該有多大?. 總而言之,他建議:

日誌文件的一個好的起點是數據庫中最大索引大小的兩倍,或數據庫大小的 25%。以較大者為準。

然後他解釋說,如果您的最大索引的大小大於數據庫大小 (MDF) 的 25%,那麼假設您正在進行維護(例如索引重建),那麼您將需要大量空間來完成此操作以及額外的任何其他可以同時執行的空間。否則 25% 的 MDF 大小是一個不錯的起點。

對於新數據庫,我個人使用減半規則,使我的 LDF 大小為 MDF 的一半,並將兩個文件的增長率設置為它們大小的一半。例如,如果我有一個好主意,我的數據庫將保存 1 GB 的數據,我會將 MDF 設置為 1 GB,增長率為 512 MB。然後我將我的 LDF 設置為 512 MB,增長率為 256 MB。

這些建議都不是完美的,價值觀有些武斷,但我認為起點足夠好。

很難預測如何調整 LDF 大小的完美答案的原因是,它完全取決於您計劃在事務日誌備份執行的時間範圍內對數據庫執行多少事務,和/或最大事務有多大你可能會跑會。這對於任何人來說都很難在配置自己的數據庫文件大小時主動弄清楚,更不用說嘗試為其他人的數據庫弄清楚了。

例如,如果您的目標數據庫複製了與源數據庫完全相同的所有數據,但在複製後,您對事務繁重的數據執行了一些額外的轉換,那麼您會發現您可能需要分配更多空間分配給目標數據庫的 LDF 比分配給源數據庫的

或者,例如,如果您在目標數據庫上安排事務日誌備份的頻率低於源數據庫,您可能還會發現目標數據庫需要比源數據庫更大的日誌文件 (LDF)。

祝你好運!

引用自:https://dba.stackexchange.com/questions/308790