Sql-Server

不同數據庫版本的備用報告策略

  • May 8, 2021

我正在嘗試提出使用一個完整備份文件還原數據庫的解決方案,然後使用每小時通過 FTP 站點創建的事務日誌。

所以,這裡有一個場景。

我連接到數據提供商的 FTP 站點,首先獲取一個完整的備份文件,然後每天使用 24 個事務日誌恢復數據庫。因此,我將每晚(大約 12 點)執行以更新前一天數據中的所有事務日誌。

我了解到有一個名為 的選項Standby,因此我嘗試使用備用完全備份,但似乎我無法執行此操作,因為需要升級數據庫。當我嘗試使用“待機”模式恢復完整備份時出現此錯誤:

在此處輸入圖像描述

由於需要升級數據庫,因此無法使用 WITH STANDBY 恢復此備份。重新發出沒有 WITH STANDBY 的 RESTORE可以確認這一點。現在,由於備用選項不是一個選項,如果我們嘗試每天繼續進行事務日誌恢復(使用 24 個文件),應該如何從數據庫中讀取數據?

我將回到使用NORECOVERY完全備份和所有其他事務日誌文件恢復數據庫的方式(因為使用RECOVERY模式,我以後無法恢復其他文件)。

但是,我需要訪問數據庫以定期讀取數據並查詢數據。當我們嘗試使用事務日誌更新數據庫時,我不確定是否有辦法讀取數據(在工作時間)。我們不能從RECOVERY工作時間的NORECOVERY模式更改為夜間批處理的模式,對嗎?我是否必須設置兩個獨立的數據庫(一個用於恢復,另一個用於以某種方式從其他數據庫中獲取數據)。我不確定這是可能的。

我該怎麼辦?

基本上,我們需要通過 FTP 從其他公司獲取更新數據。在我們得到數據後,開發者需要使用它來創建報告。

最簡單的選擇是將源實例升級到與目標實例相同的版本(或以其他方式確保數據庫引擎版本兼容),或者每天從完整備份執行恢復以進行刷新。

例如,假設源是 SQL Server 2008,目標是 SQL Server 2012。將源安裝從 SQL Server 2008 升級到 SQL Server 2012 將有助於確保數據庫版本匹配,以便STANDBY可以使用。

將更改應用到較低的 SQL Server 版本將需要一些開發工作。

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