Sql-Server-2008

在沒有事務日誌的情況下備份數據庫

  • May 13, 2020

當我備份數據庫時,有沒有辦法排除該備份中的事務日誌?還是我在想這個錯誤並恢復原始數據庫需要事務日誌的內容?

我無法縮小事務日誌,因為數據庫正在使用複制,我將不得不中斷複製。

如果我發出這個命令然後恢復數據庫,它會返回一個 50 GB 的日誌文件:

BACKUP DATABASE DatabaseName TO DISK = 'c:\temp\Database.bak'

我必須將恢復的數據庫更改為簡單,然後在釋放 50GB 之前縮小日誌文件。我無法將原始數據庫更改為簡單數據庫,因為它是複制副本。

看起來你在這裡混淆了各種概念。從聯機叢書中的事務日誌管理備份概述主題開始。

根本問題是當您將完整備份還原到另一台伺服器時,事務日誌佔用的空間超過了您的可用空間?

如果是這樣,我在問題的答案中描述的黑客是否可以同時恢復 sql-server bak 和縮小日誌?可能有用。

您的事務日誌是否在不斷增長,並且在不斷增長,因為您的數據庫處於完全恢復狀態但您沒有進行日誌備份?見這里這裡

當我將數據庫備份到 bak 文件時,有沒有辦法在該備份中排除事務日誌?

不會。數據備份將包括部分事務日誌,至少包括自備份開始後生成的部分日誌。但是,除非您有很長時間執行的事務,否則它不應該佔日誌的很大一部分。

請注意,當您恢復數據備份時,將使用與源數據庫中相同的數據和日誌文件大小重新創建數據庫,無論數據文件有多滿或日誌的活動部分有多大。如果這是您遇到的問題,請參閱我之前的 hack 以解決缺乏恢復空間的問題。

還是我想錯了,恢復原來的數據庫是需要事務日誌的內容嗎?

見上文,部分日誌將包含在完整備份中。

我無法縮小事務日誌,因為數據庫正在使用複制,我將不得不中斷複製。

沒有理由不能通過適當的複制來縮小日誌(你只能縮小非活動部分),但是:

  • 它不會對數據備份的大小產生任何影響。
  • 它可能會恢復到現在的大小。
  • 大事務日誌可能是由於沒有進行日誌備份。
  • 不應該縮小日誌

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