還原 SQL Server 資料庫備份
您可以使用SnapCenter來還原備份的 SQL Server 資料庫。資料庫復原是一個多階段過程,將所有資料和日誌頁從指定的 SQL Server 備份複製到指定的資料庫。
-
您可以將備份的 SQL Server 資料庫還原到建立備份的相同主機上的不同 SQL Server 執行個體。
您可以使用SnapCenter將備份的 SQL Server 資料庫還原到備用路徑,這樣就不會替換生產版本。
-
SnapCenter可以在不使 SQL Server 叢集群組離線的情況下還原 Windows 叢集中的資料庫。
-
如果在還原作業期間發生群集故障(群集組移動操作)(例如,如果擁有資源的節點發生故障),則必須重新連線到 SQL Server 實例,然後重新啟動還原作業。
-
當使用者或 SQL Server 代理作業正在存取資料庫時,您無法還原資料庫。
-
您無法將系統資料庫還原到備用路徑。
-
SCRIPTS_PATH 是使用插件主機的 SMCoreServiceHost.exe.Config 檔案中的 PredefinedWindowsScriptsDirectory 鍵定義的。
如果需要,您可以變更此路徑並重新啟動 SMcore 服務。為了安全起見,建議您使用預設路徑。
可以透過 API 從 Swagger 顯示該鍵的值:API /4.7/configsettings
您可以使用 GET API 來顯示鍵的值。不支援 SET API。
-
恢復精靈頁面上的大多數欄位都是不言自明的。以下資訊描述了您可能需要指導的欄位。
-
對於SnapMirror活動同步恢復操作,您必須從主位置選擇備份。
-
對於啟用SnapLock的策略、對於ONTAP 9.12.1 及以下版本、如果指定 Snapshot 鎖定期限、則作為恢復的一部分從防篡改快照創建的克隆將繼承SnapLock到期時間。儲存管理員應在SnapLock到期後手動清理克隆。
-
在左側導覽窗格中,按一下“資源”,然後從清單中選擇適當的外掛程式。
-
在資源頁面中,從*視圖*清單中選擇*資料庫*或*資源組*。
-
從清單中選擇資料庫或資源組。
進入拓樸頁面。
-
從管理副本檢視中,從儲存系統中選擇*備份*。
-
從表中選擇備份,然後按一下
圖示.
-
在「還原範圍」頁面中,選擇下列選項之一:
選項 描述 將資料庫還原到建立備份的相同主機
如果您想要將資料庫還原到進行備份的相同 SQL 伺服器,請選擇此選項。
將資料庫還原到備用主機
如果您希望將資料庫還原到與備份相同的或不同的主機上的其他 SQL 伺服器,請選擇此選項。
選擇主機名,提供資料庫名稱(可選),選擇實例,並指定還原路徑。
備用路徑中提供的檔案副檔名必須與原始資料庫檔案的檔案副檔名相同。 如果「還原範圍」頁面中未顯示「將資料庫還原到備用主機」選項,請清除瀏覽器快取。
使用現有資料庫檔案還原資料庫
如果您希望將資料庫還原到與備份相同的或不同的主機上的備用 SQL Server,請選擇此選項。
資料庫檔案應該已經存在於給定的現有檔案路徑上。選擇主機名,提供資料庫名稱(可選),選擇實例,並指定還原路徑。
-
在「恢復範圍」頁面中,選擇以下選項之一:
選項 描述 沒有任何
當您只需要還原完整備份而不還原任何日誌時,請選擇「無」。
所有日誌備份
選擇*所有日誌備份*最新備份還原作業,在完整備份後還原所有可用的日誌備份。
通過日誌備份直到
選擇「按日誌備份」執行時間點還原作業,該操作會根據備份日誌還原資料庫,直到選定日期的備份日誌。
按特定日期直至
選擇「以特定日期直到」來指定交易日誌不應用於復原資料庫的日期和時間。
此時間點還原作業將暫停在指定日期和時間之後記錄的交易日誌條目的還原。
使用自訂日誌目錄
如果您選擇了“所有日誌備份”、“按日誌備份”或“按特定日期直到”並且日誌位於自訂位置,請選擇“使用自訂日誌目錄”,然後指定日誌位置。
只有當您選擇了「將資料庫還原到備用主機」或「使用現有資料庫檔案還原資料庫」時,「使用自訂日誌目錄」選項才可用。您也可以使用共用路徑,但請確保 SQL 使用者可以存取該路徑。
可用性群組資料庫不支援自訂日誌目錄。 -
在「Pre Ops」頁面中,執行下列步驟:
-
在「預還原選項」頁面中,選擇下列選項之一:
-
選擇*還原時覆寫同名資料庫*以還原同名資料庫。
-
選擇*保留 SQL 資料庫複製設定*以還原資料庫並保留現有的複製設定。
-
選擇「還原前建立交易日誌備份」以在還原作業開始之前建立交易日誌。
-
如果交易日誌備份失敗,請選擇「如果還原前的交易日誌備份失敗則退出還原」以中止還原作業。
-
-
指定在執行還原作業之前要執行的選用腳本。
例如,您可以執行腳本來更新 SNMP 陷阱、自動發出警報、傳送日誌等。
前言或後記路徑不應包含磁碟機或共用。該路徑應相對於 SCRIPTS_PATH。 -
-
在 Post Ops 頁面中,執行以下步驟:
-
在還原完成後選擇資料庫狀態部分中,選擇下列選項之一:
-
如果您現在要還原所有必要的備份,請選擇*可操作,但無法還原其他交易日誌*。
這是預設行為,透過回滾未提交的事務使資料庫可供使用。在建立備份之前,您無法還原其他交易日誌。
-
選擇*不可操作,但可用於還原其他交易日誌*以使資料庫不可操作,而不回滾未提交的交易。
可以還原額外的交易日誌。在資料庫恢復之前您無法使用它。
-
選擇*唯讀模式,可用於還原額外的交易日誌*以使資料庫處於唯讀模式。
此選項撤銷未提交的事務,但將撤銷的操作保存在備用檔案中,以便可以恢復復原效果。
如果啟用了撤銷目錄選項,則會還原更多的交易日誌。如果交易日誌的復原操作不成功,則可以回溯變更。 SQL Server 文件包含更多資訊。
-
-
指定執行還原作業後執行的選用腳本。
例如,您可以執行腳本來更新 SNMP 陷阱、自動發出警報、傳送日誌等。
前言或後記路徑不應包含磁碟機或共用。該路徑應相對於 SCRIPTS_PATH。 -
-
在通知頁面中,從*電子郵件首選項*下拉清單中,選擇您想要傳送電子郵件的場景。
您也必須指定寄件者和收件者的電子郵件地址以及電子郵件的主題。
-
查看摘要,然後按一下「完成」。
-
使用「監控」>「作業」頁面監控復原過程。
-
使用 Open-SmConnection cmdlet 為指定使用者啟動與SnapCenter伺服器的連線會話。
PS C:\> Open-Smconnection
-
使用 Get-SmBackup 和 Get-SmBackupReport cmdlet 檢索有關要還原的一個或多個備份的資訊。
此範例顯示有關所有可用備份的資訊:
PS C:\> Get-SmBackup BackupId BackupName BackupTime BackupType -------- ---------- ---------- ---------- 1 Payroll Dataset_vise-f6_08... 8/4/2015 11:02:32 AM Full Backup 2 Payroll Dataset_vise-f6_08... 8/4/2015 11:23:17 AM
此範例顯示有關 2015 年 1 月 29 日至 2015 年 2 月 3 日備份的詳細資訊:
PS C:\> Get-SmBackupReport -FromDateTime "1/29/2015" -ToDateTime "2/3/2015" SmBackupId : 113 SmJobId : 2032 StartDateTime : 2/2/2015 6:57:03 AM EndDateTime : 2/2/2015 6:57:11 AM Duration : 00:00:07.3060000 CreatedDateTime : 2/2/2015 6:57:23 AM Status : Completed ProtectionGroupName : Clone SmProtectionGroupId : 34 PolicyName : Vault SmPolicyId : 18 BackupName : Clone_SCSPR0019366001_02-02-2015_06.57.08 VerificationStatus : NotVerified SmBackupId : 114 SmJobId : 2183 StartDateTime : 2/2/2015 1:02:41 PM EndDateTime : 2/2/2015 1:02:38 PM Duration : -00:00:03.2300000 CreatedDateTime : 2/2/2015 1:02:53 PM Status : Completed ProtectionGroupName : Clone SmProtectionGroupId : 34 PolicyName : Vault SmPolicyId : 18 BackupName : Clone_SCSPR0019366001_02-02-2015_13.02.45 VerificationStatus : NotVerified
-
使用 Restore-SmBackup cmdlet 從備份還原資料。
Restore-SmBackup -PluginCode 'DummyPlugin' -AppObjectId 'scc54.sccore.test.com\DummyPlugin\NTP\DB1' -BackupId 269 -Confirm:$false output: Name : Restore 'scc54.sccore.test.com\DummyPlugin\NTP\DB1' Id : 2368 StartTime : 10/4/2016 11:22:02 PM EndTime : IsCancellable : False IsRestartable : False IsCompleted : False IsVisible : True IsScheduled : False PercentageCompleted : 0 Description : Status : Queued Owner : Error : Priority : None Tasks : {} ParentJobID : 0 EventId : 0 JobTypeId : ApisJobKey : ObjectId : 0 PluginCode : NONE PluginName :
可以透過執行_Get-Help command_name_來取得有關可與 cmdlet 一起使用的參數及其描述的資訊。或者,您也可以參考 "SnapCenter軟體 Cmdlet 參考指南"。