此次來談談備份的話題,備份的重要性就不用多說了,此次來談談雲上怎麼作備份。都知道PaaS服務更輕量,更易於管理,其中一個很重要的一點就是PaaS服務的備份每每都很簡單,不少時候點點鼠標設置好備份策略就完事了,有的甚至是後臺自動備份,拿Azure SQL和Azure 的 MySQL來講,後臺自動就會作按期的備份,徹底不用咱們管,可是跑在VM的數據庫要怎麼備份呢?咱們能夠用recovery service來作虛機的備份,這固然是沒問題的,可是數據庫層面若是不作按期的log備份,數據庫的log size就會一直不斷地增加。
linux
因此光靠VM level的備份是沒用的,必須作數據庫level的備份,傳統的方法是使用第三方工具或者是數據庫的job, 維護計劃等方式來作按期的備份,雲上固然也能夠採用這種辦法,可是這種方法很大的一個痛點是咱們必須本身維護這些備份的數據,這就很痛苦了
數據庫
Azure提供了一種很簡單的方法來讓咱們實現SQL Server數據庫的備份,這種方法在Azure Global很早以前就已經能夠用了,可是直到這個月才終於在21V 的Azure落地!咱們如今能夠直接在recovery service vault裏備份數據庫了!服務器
以前在recovery service vault中咱們只能作VM的備份,如今咱們還能夠用它來作SQL Server數據庫的備份,並且他支持的版本很是多,從SQL Server 2008 R2到最新版本的SQL Server均可以支持,不過linux下的SQL Server暫時還不支持ide
下邊來看下操做的步驟
工具
首先先建立recovery service vault加密
以後在backup裏選擇備份SQL Server in Azure VM,而後選擇start discoveryrest
能夠看到找到咱們的服務器了,開始discovery dbsblog
完成後開始配置db backup部署
這時你可能會發現這裏提示not readyit
這是爲何呢?緣由很簡單,由於咱們的SQL Server不是從marketing place裏建立的,而是先部署好VM,再獨立安裝的SQL Server,因此咱們還須要手動完成一些步驟,能夠看到錯誤信息裏已經很明顯了,由於帳號權限不足致使沒法備份
Backup的原理其實並不複雜,它是經過extension來在VM裏調用一些備份的API來實現數據庫的備份,因此至關於就是在VM裏執行命令,而執行命令須要用到的帳戶就是上邊錯誤信息裏看到的
來到VM裏,直接新建數據庫login
搜索叫AzureWLBackupPluginSvc的帳戶
將這個帳戶授予sysadmin權限
能夠看到權限了
回到以前的頁面,從新discovery dbs
從新discovery以後,狀態已是ready了
開始配置備份,這裏直接選擇autoproject爲On,表明的意思就是全部當前的數據庫和之後添加的數據庫都會自動作備份
解下來設置備份的策略,這個和VM的備份很相像
這裏設置好天天作全備,數據保留30天
以後能夠看到有的數據庫已經顯示備份狀態是health了,此次來嘗試restore
這裏選擇還原到當前服務器,而後名字換爲另一個
還能夠設置數據和log的位置
設置完成後,能夠看到很快數據庫就完成還原了
備份的數據在硬盤上是看不到的,由於數據都是加密保存在recovery service裏,這樣咱們也不用再擔憂磁盤被備份數據撐爆