SqlServer擷取資料庫最近全量備份時間,sqlserver擷取

來源:互聯網
上載者:User

SqlServer擷取資料庫最近全量備份時間,sqlserver擷取

應用情境,SqlServer的增量備份是在全量備份的基礎上進行的,如果需要恢複的話,也需要先恢複全量備份,再恢複對應的增量備份檔案。

例如,我們全量備份A資料庫產生1.bak檔案,此時再進行增量備份,將產生2.diff檔案。

如果在恢複的時候,先恢複1.bak,再恢複2.diff,可以正常的恢複到原資料。

但是如果在這個過程中,又進行了另一次全量備份,那麼,此時再想通過1.bak + 2.diff來進行恢複就會失敗。

因為增量備份是針對最新的全量備份進行增量的,因此,我們需要判斷產生1.bak全量備份的時間和SqlServer中最新全量備份時間是否一致。

如果不一致,證明後面的增量備份並非基於1.bak的全量備份進行的。


具體擷取的指令如下:

SqlServer2003及以下版本可使用osql,SqlServer2005及以上可使用osql或sqlcmd (自行替換語句中參數$username, $password, $dbname)

osql.exe/sqlcmd.exe -U $username -P $password -d master -Q "SELECT MAX(Backup_finish_date) AS 'latest Backup Date' FROM msdb..backupset WHERE TYPE='D' and database_name = '$dbname' GROUP BY database_name"


返回的結果如下:



相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.