SQL Server 2014 虛擬機(jī)的自動(dòng)備份 (Resource Manager)

自動(dòng)備份將在運(yùn)行 SQL Server 2014 Standard 或 Enterprise 的 Azure VM 上自動(dòng)為所有現(xiàn)有數(shù)據(jù)庫和新數(shù)據(jù)庫配置托管備份到 Azure。 這樣,便可以配置使用持久 Azure Blob 存儲(chǔ)的定期數(shù)據(jù)庫備份。 自動(dòng)備份依賴于SQL Server IaaS 代理擴(kuò)展

Note

Azure 具有用于創(chuàng)建和處理資源的兩個(gè)不同的部署模型:Resource Manager 和經(jīng)典。 本文介紹如何使用 Resource Manager 部署模型。Azure 建議對(duì)新的部署使用該模型,而不是經(jīng)典部署模型。

先決條件

若要使用自動(dòng)備份,請(qǐng)考慮以下先決條件:

操作系統(tǒng)

Windows Server 2012

Windows Server 2012 R2

Windows Server 2016

SQL Server 版本

SQL Server 2014 Standard

SQL Server 2014 Enterprise

數(shù)據(jù)庫配置

目標(biāo)數(shù)據(jù)庫必須使用完整恢復(fù)模式。 有關(guān)對(duì)備份使用完整恢復(fù)模型產(chǎn)生的影響的詳細(xì)信息,請(qǐng)參閱Backup Under the Full Recovery Model(使用完整恢復(fù)模型的備份)。

目標(biāo)數(shù)據(jù)庫必須位于默認(rèn) SQL Server 實(shí)例上。 SQL Server IaaS 擴(kuò)展不支持命名實(shí)例。

Azure 部署模型

Resource Manager

Azure PowerShell

如果打算使用 PowerShell 配置自動(dòng)備份,請(qǐng)安裝最新的 Azure PowerShell 命令

Note

自動(dòng)備份依賴 SQL Server IaaS 代理擴(kuò)展。 當(dāng)前的 SQL 虛擬機(jī)庫映像默認(rèn)添加此擴(kuò)展。 有關(guān)詳細(xì)信息,請(qǐng)參閱SQL Server IaaS 代理擴(kuò)展

設(shè)置

下表描述了可為自動(dòng)備份配置的選項(xiàng)。 實(shí)際配置步驟根據(jù)你使用的是 Azure 門戶還是 Azure Windows PowerShell 命令而有所不同。

設(shè)置范圍(默認(rèn)值)說明

自動(dòng)備份啟用/禁用(已禁用)為運(yùn)行 SQL Server 2014 Standard 或 Enterprise 的 Azure VM 啟用或禁用自動(dòng)備份。

保留期1-30 天(30 天)保留備份的天數(shù)。

存儲(chǔ)帳戶Azure 存儲(chǔ)帳戶用于在 Blob 存儲(chǔ)中存儲(chǔ)自動(dòng)備份文件的 Azure 存儲(chǔ)帳戶。 會(huì)在此位置創(chuàng)建容器,用于存儲(chǔ)所有備份文件。 備份文件命名約定包括日期、時(shí)間和計(jì)算機(jī)名稱。

加密啟用/禁用(已禁用)啟用或禁用加密。 啟用加密時(shí),用于還原備份的證書會(huì)使用相同的命名約定存放在同一automaticbackup容器中的指定存儲(chǔ)帳戶內(nèi)。 如果密碼發(fā)生更改,則使用該密碼生成新證書,但舊證書在備份之前仍會(huì)還原。

密碼密碼文本加密密鑰的密碼。 僅當(dāng)啟用了加密時(shí)才需要此設(shè)置。 若要還原加密的備份,必須具有創(chuàng)建該備份時(shí)使用的正確密碼和相關(guān)證書。

門戶中的配置

可以在預(yù)配期間或針對(duì)現(xiàn)有的 SQL Server 2014 VM 使用 Azure 門戶來配置自動(dòng)備份。

新的 VM

在 Resource Manager 部署模型中創(chuàng)建新的 SQL Server 2014 虛擬機(jī)時(shí),可以使用 Azure 門戶配置自動(dòng)備份。

在“SQL Server 設(shè)置”邊欄選項(xiàng)卡中,選擇“自動(dòng)備份”。 下面的 Azure 門戶屏幕截圖顯示了“SQL 自動(dòng)備份”邊欄選項(xiàng)卡。

若要了解上下文,請(qǐng)參閱有關(guān)在 Azure 中預(yù)配 SQL Server 虛擬機(jī)的完整主題。

現(xiàn)有 VM

對(duì)于現(xiàn)有的 SQL Server 虛擬機(jī),請(qǐng)選擇 SQL Server 虛擬機(jī)。 然后選擇“設(shè)置”邊欄選項(xiàng)卡的“SQL Server 配置”部分。

在“SQL Server 配置”邊欄選項(xiàng)卡的“自動(dòng)備份”部分,單擊“編輯”按鈕。

完成后,單擊“SQL Server 配置”邊欄選項(xiàng)卡底部的“確定”按鈕保存更改。

首次啟用自動(dòng)備份時(shí),Azure 會(huì)在后臺(tái)配置 SQL Server IaaS 代理。 在此期間,Azure 門戶可能不會(huì)顯示自動(dòng)備份已配置。 請(qǐng)等待幾分鐘,以便安裝和配置代理。 之后,Azure 門戶將反映新設(shè)置。

Note

也可以使用模板來配置自動(dòng)備份。 有關(guān)詳細(xì)信息,請(qǐng)參閱Azure quickstart template for Automated Backup(用于自動(dòng)備份的 Azure 快速入門模板)。

使用 PowerShell 進(jìn)行配置

可使用 PowerShell 配置自動(dòng)備份。 開始之前,必須:

下載并安裝最新的 Azure PowerShell

打開 Windows PowerShell 并將其關(guān)聯(lián)到帳戶。 可以遵循預(yù)配主題的配置訂閱部分中的步驟執(zhí)行此操作。

安裝 SQL IaaS 擴(kuò)展

如果通過 Azure 門戶預(yù)配了 SQL Server 虛擬機(jī),應(yīng)已安裝 SQL Server IaaS 擴(kuò)展。 可通過調(diào)用Get-AzureRmVM命令并檢查Extensions屬性,來確定是否為 VM 安裝了該擴(kuò)展。

PowerShell復(fù)制

$vmname="vmname"$resourcegroupname="resourcegroupname"(Get-AzureRmVM-Name$vmname-ResourceGroupName$resourcegroupname).Extensions

如果已安裝 SQL Server IaaS 代理擴(kuò)展,應(yīng)會(huì)看到列出的“SqlIaaSAgent”或“SQLIaaSExtension”。ProvisioningState應(yīng)顯示“Succeeded”。

如果未安裝或未能預(yù)配該擴(kuò)展,可使用以下命令來安裝。 除了 VM 名稱和資源組以外,還必須指定 VM 所在的區(qū)域 ($region)。

PowerShell復(fù)制

$region="EASTUS2"Set-AzureRmVMSqlServerExtension-VMName$vmname`-ResourceGroupName$resourcegroupname-Name"SQLIaasExtension"`-Version"1.2"-Location$region

驗(yàn)證當(dāng)前設(shè)置

如果在預(yù)配期間啟用了自動(dòng)備份,可以使用 PowerShell 檢查當(dāng)前配置。 運(yùn)行Get-AzureRmVMSqlServerExtension命令并檢查AutoBackupSettings屬性:

PowerShell復(fù)制

(Get-AzureRmVMSqlServerExtension-VMName$vmname-ResourceGroupName$resourcegroupname).AutoBackupSettings

應(yīng)會(huì)看到類似于下面的輸出:

復(fù)制

Enable? ? ? ? ? ? ? ? ? ? ? : False

EnableEncryption? ? ? ? ? ? : False

RetentionPeriod? ? ? ? ? ? : -1

StorageUrl? ? ? ? ? ? ? ? ? : NOTSET

StorageAccessKey? ? ? ? ? ? :

Password? ? ? ? ? ? ? ? ? ? :

BackupSystemDbs? ? ? ? ? ? : False

BackupScheduleType? ? ? ? ? :

FullBackupFrequency? ? ? ? :

FullBackupStartTime? ? ? ? :

FullBackupWindowHours? ? ? :

LogBackupFrequency? ? ? ? ? :

如果輸出顯示Enable設(shè)置為False,則必須啟用自動(dòng)備份。 幸運(yùn)的是,可通過相同的方式啟用和配置自動(dòng)備份。 有關(guān)信息,請(qǐng)參閱下一部分。

Note

如果在進(jìn)行更改后立即檢查設(shè)置,看到的可能是舊配置值。 請(qǐng)等待幾分鐘再檢查設(shè)置,確保更改已應(yīng)用。

配置自動(dòng)備份

隨時(shí)可以使用 PowerShell 來啟用自動(dòng)備份以及修改其配置和行為。

首先,為備份文件選擇或創(chuàng)建存儲(chǔ)帳戶。 以下腳本選擇一個(gè)存儲(chǔ)帳戶,或者創(chuàng)建一個(gè)存儲(chǔ)帳戶(如果不存在)。

PowerShell復(fù)制

$storage_accountname="yourstorageaccount"$storage_resourcegroupname=$resourcegroupname$storage=Get-AzureRmStorageAccount-ResourceGroupName$resourcegroupname`-Name$storage_accountname-ErrorActionSilentlyContinueIf(-Not$storage)? ? {$storage=New-AzureRmStorageAccount-ResourceGroupName$storage_resourcegroupname`-Name$storage_accountname-SkuNameStandard_GRS-Location$region}

Note

自動(dòng)備份不支持在高級(jí)存儲(chǔ)中存儲(chǔ)備份,但可以從使用高級(jí)存儲(chǔ)的 VM 磁盤創(chuàng)建備份。

然后,使用New-AzureRmVMSqlServerAutoBackupConfig命令啟用并配置自動(dòng)備份設(shè)置,以便在 Azure 存儲(chǔ)帳戶中存儲(chǔ)備份。 在本示例中,備份設(shè)置為保留 10 天。 第二個(gè)命令Set-AzureRmVMSqlServerExtension使用這些設(shè)置更新指定的 Azure VM。

PowerShell復(fù)制

$autobackupconfig=New-AzureRmVMSqlServerAutoBackupConfig-Enable`-RetentionPeriodInDays10-StorageContext$storage.Context `-ResourceGroupName$storage_resourcegroupnameSet-AzureRmVMSqlServerExtension-AutoBackupSettings$autobackupconfig`-VMName$vmname-ResourceGroupName$resourcegroupname

可能需要花費(fèi)幾分鐘來安裝和配置 SQL Server IaaS 代理。

Note

還有僅適用于 SQL Server 2016 和自動(dòng)備份 v2 的其他New-AzureRmVMSqlServerAutoBackupConfig設(shè)置。 SQL Server 2014 不支持以下設(shè)置:BackupSystemDbsBackupScheduleTypeFullBackupFrequencyFullBackupStartHourFullBackupWindowInHoursLogBackupFrequencyInMinutes。 如果嘗試在 SQL Server 2014 虛擬機(jī)上配置這些設(shè)置,則不存在錯(cuò)誤,但不會(huì)應(yīng)用這些設(shè)置。

要啟用加密,請(qǐng)修改上述腳本,使其將EnableEncryption參數(shù)連同CertificatePassword參數(shù)的密碼(安全字符串)一起傳遞。 以下腳本啟用上一示例中的自動(dòng)備份設(shè)置,并添加加密。

PowerShell復(fù)制

$password="P@ssw0rd"$encryptionpassword=$password|ConvertTo-SecureString-AsPlainText-Force$autobackupconfig=New-AzureRmVMSqlServerAutoBackupConfig-Enable`-EnableEncryption-CertificatePassword$encryptionpassword`-RetentionPeriodInDays10-StorageContext$storage.Context `-ResourceGroupName$storage_resourcegroupnameSet-AzureRmVMSqlServerExtension-AutoBackupSettings$autobackupconfig`-VMName$vmname-ResourceGroupName$resourcegroupname

若要確認(rèn)是否應(yīng)用了這些設(shè)置,請(qǐng)檢查自動(dòng)備份配置

禁用自動(dòng)備份

若要禁用自動(dòng)備份,請(qǐng)運(yùn)行同一個(gè)腳本,但不要為New-AzureRmVMSqlServerAutoBackupConfig命令指定-Enable參數(shù)。 缺少-Enable參數(shù)會(huì)向該命令發(fā)出指示以禁用此功能。 與安裝一樣,可能需要花費(fèi)幾分鐘時(shí)間來禁用自動(dòng)備份。

PowerShell復(fù)制

$autobackupconfig=New-AzureRmVMSqlServerAutoBackupConfig-ResourceGroupName$storage_resourcegroupnameSet-AzureRmVMSqlServerExtension-AutoBackupSettings$autobackupconfig`-VMName$vmname-ResourceGroupName$resourcegroupname

示例腳本

以下腳本提供一組可自定義的變量,用來為 VM 啟用和配置自動(dòng)備份。 根據(jù)具體的情況,可能需要根據(jù)要求自定義該腳本。 例如,如果想要禁用系統(tǒng)數(shù)據(jù)庫備份或啟用加密,則必須更改該腳本。

PowerShell復(fù)制

$vmname="yourvmname"$resourcegroupname="vmresourcegroupname"$region="Azure region name such as EASTUS2"$storage_accountname="storageaccountname"$storage_resourcegroupname=$resourcegroupname$retentionperiod=10# ResourceGroupName is the resource group which is hosting the VM where you are deploying the SQL IaaS ExtensionSet-AzureRmVMSqlServerExtension-VMName$vmname`-ResourceGroupName$resourcegroupname-Name"SQLIaasExtension"`-Version"1.2"-Location$region# Creates/use a storage account to store the backups$storage=Get-AzureRmStorageAccount-ResourceGroupName$resourcegroupname`-Name$storage_accountname-ErrorActionSilentlyContinueIf(-Not$storage)? ? {$storage=New-AzureRmStorageAccount-ResourceGroupName$storage_resourcegroupname`-Name$storage_accountname-SkuNameStandard_GRS-Location$region}# Configure Automated Backup settings$autobackupconfig=New-AzureRmVMSqlServerAutoBackupConfig-Enable`-RetentionPeriodInDays$retentionperiod-StorageContext$storage.Context `-ResourceGroupName$storage_resourcegroupname# Apply the Automated Backup settings to the VMSet-AzureRmVMSqlServerExtension-AutoBackupSettings$autobackupconfig`-VMName$vmname-ResourceGroupName$resourcegroupname

后續(xù)步驟

自動(dòng)備份會(huì)在 Azure VM 上配置托管備份。 因此,請(qǐng)務(wù)必查看有關(guān)托管備份的文檔,了解其行為和影響。

可以在以下主題中找到針對(duì) Azure VM 上的 SQL Server 的其他備份和還原指導(dǎo):Azure 虛擬機(jī)中 SQL Server 的備份和還原

有關(guān)其他可用自動(dòng)化任務(wù)的信息,請(qǐng)參閱SQL Server IaaS 代理擴(kuò)展

有關(guān)在 Azure VM 中運(yùn)行 SQL Server 的詳細(xì)信息,請(qǐng)參閱Azure 虛擬機(jī)中的 SQL Server 概述

立即訪問http://market.azure.cn

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容