2011-12-15 30 views
0

我用下面的線路備份的Microsoft SQL Server 2008數據庫:備份SQL Server數據庫的不時間戳

BACKUP DATABASE @name TO DISK = @fileName WITH COMPRESSION 

由於數據庫沒有發生變化,這條線的重複執行產生是的文件大小相同,但內部大不相同。

如何創建重複的SQL Server備份的相同的未更改的數據庫,可以提供相同的字節精度的文件?我想這簡單的BACKUP DATABASE調用會在備份媒體中添加一些時間戳或一些其他元信息,有沒有辦法禁用或刪除此添加?

或者,如果它是不可能的,是有一個比較簡單的方法來比較2級的備份,看看它們是否會恢復數據庫的完全相同的狀態?

UPDATE:我的備份比較點是我每天備份無數的數據庫,但大多數數據庫不會經常更改。他們中的大多數人每年要更換幾次是很正常的。所以,基本上,對於所有其他DBMS(MySQL和PostgreSQL,蒙戈),我使用下面的算法:

  • 做一個新的日常備份
  • DIFF新的備份與最近的舊備份
  • 如果數據庫沒有改變(即備份匹配),刪除我剛剛創建

該算法可與我們以前遇到的所有的DBMS,但是,唉,它失敗,因爲新的每日備份不可重複的MSSQL備份。

回答

0

正如你猜測備份目錄的一部分包括備份的日期和時間。 WITH COMPRESSION選項會壓縮備份以節省空間,但由於壓縮算法的工作方式,文件中的一些更改將導致整個文件發生更改。

如果你不想這麼多的差異然後取出壓縮選項,但比較備份文件是不是要走的路。

如果您的數據庫變化不大,那麼增量備份或差異備份可能會更有用。

但是你似乎已經陷入了一個叫XY Problem因爲你是問你嘗試的解決方案,而不是您的實際問題的經典陷阱。什麼是提示你嘗試和比較數據庫?

+0

我試着忽略壓縮,它沒有幫助 - 文件仍然不同。我最初的意圖是進行備份優化,我在問題中添加了對備份算法的詳細描述。 – GreyCat 2011-12-15 12:23:22