備份SQL Server數(shù)據(jù)庫到Azure Storage

來源: 51CTO
作者:wuyvzhang
時(shí)間:2021-04-10
17327
對于生產(chǎn)數(shù)據(jù)來講,數(shù)據(jù)的安全性是至關(guān)重要的,任何數(shù)據(jù)的丟失都可能產(chǎn)生嚴(yán)重的的后果。而備份作為數(shù)據(jù)的副本,可以在當(dāng)數(shù)據(jù)庫出現(xiàn)故障或者遭到破壞時(shí)可以根據(jù)備份的數(shù)據(jù)庫及事務(wù)日志文件還原到最近的時(shí)間點(diǎn)將損失降到最低點(diǎn)。

對于生產(chǎn)數(shù)據(jù)來講,數(shù)據(jù)的安全性是至關(guān)重要的,任何數(shù)據(jù)的丟失都可能產(chǎn)生嚴(yán)重的的后果。而備份作為數(shù)據(jù)的副本,可以在當(dāng)數(shù)據(jù)庫出現(xiàn)故障或者遭到破壞時(shí)可以根據(jù)備份的數(shù)據(jù)庫及事務(wù)日志文件還原到最近的時(shí)間點(diǎn)將損失降到最低點(diǎn)。

對于傳統(tǒng)的備份來講,一般都是使用數(shù)據(jù)庫自帶的備份或使用第三方的備份軟件將數(shù)據(jù)庫備份到本地的磁盤/磁帶存儲,這種備份方式的前提是需要有一個(gè)大的存儲池用來按照備份文件的生命周期來存儲我們的備份文件。這就意味著我們需要準(zhǔn)備一個(gè)大的存儲池??紤]到準(zhǔn)備存儲池需要一定得資源,那么很多小伙伴肯定就會問了,我能否將數(shù)據(jù)庫備份到云?答案是可以得。那么接下來我們就一起來聊聊如何將SQL Server數(shù)據(jù)庫備份到云端和備份到云端所帶來的好處。
將數(shù)據(jù)庫備份到azure storage的好處如下:

  • 靈活、可靠、無限制的站點(diǎn)外存儲:在 Microsoft Azure Blob 服務(wù)上存儲備份是一種既便捷靈活又易于訪問的站點(diǎn)外存儲方法。 為SQL Server 備份創(chuàng)建站點(diǎn)外存儲就像修改現(xiàn)有腳本/作業(yè)一樣簡單。 站點(diǎn)外存儲位置通常應(yīng)遠(yuǎn)離生產(chǎn)數(shù)據(jù)庫位置,以防止出現(xiàn)同時(shí)影響站點(diǎn)外和生產(chǎn)數(shù)據(jù)庫位置的一個(gè)災(zāi)難。 通過選擇地理復(fù)制 Blob 存儲區(qū),在發(fā)生可能影響整個(gè)區(qū)域的災(zāi)難時(shí)多了一層額外的保護(hù)。 此外,備份副本隨時(shí)隨地可用,并可以輕松訪問它們來執(zhí)行還原。

  • 備份存檔:在對備份進(jìn)行存檔時(shí),Microsoft Azure Blob 存儲服務(wù)能夠提供可替代常用磁帶存儲方式的更好方式。 選擇磁帶存儲時(shí)可能需要將數(shù)據(jù)實(shí)際運(yùn)輸?shù)綀鐾庠O(shè)施,并且需要采取一些介質(zhì)保護(hù)措施。 在 Microsoft Azure Blob 存儲區(qū)中存儲備份可以提供一個(gè)即時(shí)、高度可用、耐久的存檔方案。

  • 無硬件管理開銷:沒有有關(guān) Microsoft Azure 服務(wù)的硬件管理開銷。 Microsoft Azure 服務(wù)管理硬件并支持地理復(fù)制以提供冗余和防止硬件故障。

  • 當(dāng)前對于在 Microsoft Azure 虛擬機(jī)中運(yùn)行的 SQL Server 實(shí)例,可以通過創(chuàng)建附加的磁盤來備份到 Microsoft Azure Blob 存儲服務(wù)。 但是,對于可以附加到 Microsoft Azure 虛擬機(jī)的磁盤數(shù)有限制。 限制值為:超大實(shí)例最多使用 16 個(gè)磁盤,較小的實(shí)例可使用的磁盤則更少。 通過允許直接備份到 Microsoft Azure Blob 存儲區(qū),你可以繞過 16 個(gè)磁盤的限制。
    此外,目前存儲在 Microsoft Azure Blob 存儲服務(wù)中的備份文件直接可用于本地 SQL Server 或在 Microsoft Azure 虛擬機(jī)中運(yùn)行的其他 SQL Server ,而無需進(jìn)行數(shù)據(jù)庫附加/分離或下載并附加 VHD。

  • 成本權(quán)益:只需要為使用的服務(wù)付費(fèi)。 可以作為經(jīng)濟(jì)合算的站點(diǎn)外備份存檔方案。

但是需要注意將SQL Server備份到Azure Storage需要確保數(shù)據(jù)庫SQL Server 2012 SP1 CU2及以上版本。

說了這么多,下面我們就一起來看一下,如何將數(shù)據(jù)庫備份到Azure Storage。
首先我們需要準(zhǔn)備一個(gè)存儲賬戶:

debd58e81707f9179fa12fe1a960703c.png

獲取access key,本次示例中我們使用access key的方式訪問存儲賬戶:

9cf9bf5269f01af3d7b76a952762f66b.png

使用如下T-SQL在SQL中創(chuàng)建賬戶:

IF NOT EXISTS(SELECT * FROM sys.credentials WHERE credential_identity = ' bkuptour')CREATE CREDENTIAL bkuptourl WITH IDENTITY = 'sql12bak', SECRET = '5amfZJpKLcR2lAfEBZod18VYbxZOPUbtKH9RowDQ3Ixv5sGMnSj5Lo/UbPb/zCCRKh/kAxnOaOS9oJELTVVoTg==';

創(chuàng)建完成后我們可以在存儲賬戶中創(chuàng)建一個(gè)container用來存儲備份文件:

3b51846fc760931abc3adb04b66ed6d5.png

創(chuàng)建完成以后可以使用如下T-SQL將數(shù)據(jù)庫備份到Storage Account中:

DECLARE @DB_name VARCHAR(50) -- database name DECLARE @BackupLoc VARCHAR(256) -- path for backup files DECLARE @BackupfileName VARCHAR(256) -- filename for backup DECLARE @fileDate VARCHAR(20) -- used for file name-- specify database backup container locationSET @BackupLoc = 'https://sql12bak.blob.core.chinacloudapi.cn/test/' set @fileDate= replace(replace(convert(nvarchar(50),getdate()),' ','_'),':','_')DECLARE db_cursor CURSOR FOR SELECT name FROM master.sys.databases WHERE database_id <>2 and state=0OPEN db_cursor  

FETCH NEXT FROM db_cursor INTO @DB_name  

WHILE @@FETCH_STATUS = 0  BEGIN  

      SET @BackupfileName = @BackupLoc + @DB_name + '_' + @fileDate + '.BAK'

      BACKUP DATABASE @DB_name TO URL = @BackupfileName  WITH CREDENTIAL = 'bkuptourl',COMPRESSION

         print 'BACKUP DATABASE '+@DB_name+ ' TO URL ='''+ @BackupfileName  +''' WITH CREDENTIAL = ''bkuptourl'',COMPRESSION '

      FETCH NEXT FROM db_cursor INTO @DB_name  

END  CLOSE db_cursor  

DEALLOCATE db_cursor

d1dd666d84e5faebb2d18250135784f7 (1).png

備份完成,如下圖所示:

e66b761776663d7096f0197107e596de.png

立即登錄,閱讀全文
版權(quán)說明:
本文內(nèi)容來自于51CTO,本站不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。文章內(nèi)容系作者個(gè)人觀點(diǎn),不代表快出海對觀點(diǎn)贊同或支持。如有侵權(quán),請聯(lián)系管理員(zzx@kchuhai.com)刪除!
相關(guān)文章
Azure Arc為企業(yè)構(gòu)建安全的云基礎(chǔ)
Azure Arc為企業(yè)構(gòu)建安全的云基礎(chǔ)
隨著人工智能技術(shù)持續(xù)重塑企業(yè)運(yùn)營方式,企業(yè)需要能夠處理海量數(shù)據(jù)的系統(tǒng),以支持實(shí)時(shí)洞察,同時(shí)幫助他們應(yīng)對跨IT和OT環(huán)境(包括云端、邊緣和本地)中運(yùn)營、應(yīng)用、數(shù)據(jù)和基礎(chǔ)設(shè)施的協(xié)作難題。
Azure
微軟云
云服務(wù)
2024-12-172024-12-17
釋放.NET 9和Azure的AI技術(shù)與云計(jì)算潛力:更快、更智能、面向未來
釋放.NET 9和Azure的AI技術(shù)與云計(jì)算潛力:更快、更智能、面向未來
.NET 9現(xiàn)已正式發(fā)布,它為.NET平臺的發(fā)展掀開了嶄新的一頁,突破了性能、云原生開發(fā)和AI技術(shù)集成的邊界。
Azure
微軟云
云服務(wù)
2024-12-162024-12-16
Azure網(wǎng)絡(luò)管理現(xiàn)已具備智能Microsoft Copilot副駕駛能力
Azure網(wǎng)絡(luò)管理現(xiàn)已具備智能Microsoft Copilot副駕駛能力
智能Microsoft Copilot副駕駛for Azure網(wǎng)絡(luò)服務(wù)現(xiàn)已推出公共預(yù)覽版。
Azure
微軟云
云服務(wù)
2024-12-102024-12-10
Microsoft Fabric功能更新,借助AI驅(qū)動(dòng)的數(shù)據(jù)平臺加速應(yīng)用創(chuàng)新
Microsoft Fabric功能更新,借助AI驅(qū)動(dòng)的數(shù)據(jù)平臺加速應(yīng)用創(chuàng)新
一年前,我們正式推出了一款端到端數(shù)據(jù)平臺,旨在幫助組織推動(dòng)人工智能轉(zhuǎn)型,并重新定義數(shù)據(jù)的連接、管理和分析方式。
Azure
微軟云
云服務(wù)
2024-12-092024-12-09
優(yōu)質(zhì)服務(wù)商推薦
更多
掃碼登錄
打開掃一掃, 關(guān)注公眾號后即可登錄/注冊
加載中
二維碼已失效 請重試
刷新
賬號登錄/注冊
個(gè)人VIP
小程序
快出海小程序
公眾號
快出海公眾號
商務(wù)合作
商務(wù)合作
投稿采訪
投稿采訪
出海管家
出海管家