備份SQL Server 2014數據庫到Azure Blob存儲器服務上

來源:本網整理

入手?那得看是組裝新機還是升級老機器。1,組裝新機。組裝新機的話那么就不得不入手,既然題目是是否值得入手,那就意味著題主比較注重價格,不是顯卡吧那群動不動就gtx1080ti的無限加價狂。現在固態比去年要貴上50%左右,價格很令人淚流,然而還是有些小品牌的價格還是那么親人,大多都是小品牌或者沒聽過的品牌,但沒關系,因為現在固態硬盤技術處于高速發展的階段,出現各種層次的存儲顆粒,接口。其實買固態無非考慮的是品牌,顆粒,接口,價格這四個問題。首先我們可以拋棄品牌這個問題,因為顆粒和接口才是最大的問題。既然拋棄了品牌,那么價格也可以先放一邊。顆粒有很多種,目前主流是tlc,mlc,slc,壽命依次遞

Azure VM 客制化腳本擴展 (Custom Script Extension) 將讓您可以從存儲器賬戶下載 PowerShell 腳本并執行之,透過這樣一個簡單的功能,您可以因應各種不同的 VM 客制化情境,彈性地自動化 VM 設定。在本篇文章中我們將帶您了解如何從 Azure VM Image Gallery 中使用客制化腳本擴展來客制一個 SQL Server 2014 VM,我們將使用 SQL Powershell 腳本來啟用 SQL Server Managed Backup 到 Microsoft Azure,這將讓您可以備份您的 SQL Server 2014 數據庫到 Azure Blob 存儲器服務上。   SQL Server 設定腳本   請參閱以下程序代碼,您只需要將 [your Azure storage account] 和 [your Azure storage account key] 改為您 Azure 存儲器的賬戶及憑證即可,并另存此腳本為 CustomScriptSQLPS.ps1。   #import SQL Server powershell module  import-module  sqlps -DisableNameChecking     #global variables - replace storage account name and key $credentialName = "AzureStorageCredential_"+(RANDOM) $storageAccountName = "[your Azure storage account]" $storageAccountKey = "[your Azure storage account key]"     #start SQL Agent Service            write-host "Starting SQL Server Agent service ..." Start-Service  sqlserveragent -verbose   CD SQLSERVER:SQL\$env:COMPUTERNAME\DEFAULT   write-host "Creating SQL credential ..." $secureString = convertto-securestring $storageAccountKey  -asplaintext -force       #Create Credential New-SqlCredential –name $credentialName –Identity $storageAccountName –secret $secureString    $encryptionOption = New-SqlBackupEncryptionOption -NoEncryption   write-host "Enabling Managed SQL Server Backup..."   get-sqlsmartadmin | set-sqlsmartadmin -BackupEnabled $True  -BackupRetentionPeriodInDays 7 -SqlCredential $credentialName -EncryptionOption  $encryptionOption   write-host "Managed SQL Server backup current configuration:" get-sqlsmartadmin | fl    但是,我們無法直接提交此腳本,因客制化腳本擴展是使用 NTAUTHORITY\SYSTEM 賬戶來執行腳本,所以我們必須建立另個腳本,來扮演管理員賬戶腳色,才能執行上面這段腳本。   利用另個認證來執行腳本   首先我們建立另個腳本取名作 start.ps1,內容如下。為了方便解說,我在下方加了 Line Number。   1: $password =  ConvertTo-SecureString "[your admin account user password]" -AsPlainText -Force   2: $credential = New-Object System.Management.Automation.PSCredential("$env:COMPUTERNAME\[your admin account]", $password)   3: $command = $file = $PSScriptRoot + "\CustomScriptSQLPS.ps1"   4: Enable-PSRemoting –force   5: Invoke-Command -FilePath $command -Credential $credential -ComputerName $env:COMPUTERNAME   6: Disable-PSRemoting -Force   Line 1: 將管理員密碼從 Plain text 轉換到 Secured string,當然將密碼直接放置于腳本中不是一個好的做法,這我們稍后再回來談。   Line 2: 建立執行主要腳本的認證,您可以使用和預備用來建立 VM 相同的賬戶。   Line 3: 指定主要腳本的確切路徑。   Line 4 & 6: 要在一個仿造的認證中執行主要腳本,我們必須啟用 Windows Remote Management (WinRM),也就是 Line 4,而 Line 6 是關閉。   Line 5: 使用 Invoke-Command cmdlet 來執行主要腳本 (會需要認證參數)。   使用客制化腳本擴展   現在我們已經準備好提交以上兩個腳本至客制化腳本擴展,將兩個腳本上傳至您存儲器賬戶下的腳本容器中,接下來在您的工作站上邊可執行以下腳本。   1: $servicename = "[cloud service that hosts the VM]"   2: $vmname = "[name of the VM]"   3: $vm = Get-AzureVM -ServiceName $servicename -Name $vmname   4: Set-AzureVMCustomScriptExtension -ContainerName scripts -StorageAccountName '[your storage account name]' -VM $vm -FileName 'start.ps1', 'CustomScriptSQLPS.ps1' -Run 'start.ps1' | Update-AzureVM -Verbose   5: $status = Get-AzureVM -ServiceName $servicename -Name $vmname   6: $result = $status.ResourceExtensionStatusList.ExtensionSettingStatus.SubStatusList | Select Name, @{"Label"="Message";Expression = {$_.FormattedMessage.Message }}    7: $result |fl   最重要的是第4行,它確保了于VM上安裝客制化腳本擴展,并下載start.ps1 和 CustomScriptSQLPS.ps1,接著執行 start.ps1。   于外部檔案中讀取密碼   我們都知道應避免于程序代碼中寫入密碼,所以現在要介紹的是加解密服務,我們將假設您已經利用 private key 于目標 VM 部署了憑證,且利用相同憑證的 public key 來加密到 password.txt 檔案 (base-64 格式)。   $cert = Get-ChildItem Cert:\LocalMachine\My\[certificate thumbprint]   $bytes = [Text.Encoding]::UTF8.GetBytes("abcdefg")   $encrypted = $cert.PublicKey.Key.Encrypt($bytes, $true)   $base64 = [Convert]::ToBase64String($encrypted)   Set-Content .\password.txt $base64   若您對于 VM 憑證管理還不太了解,可以參考這里 (提供教學影片及命令提示字符下載)。   修改start.ps1 并將以下程序代碼復制取代原本的第一行:   $cert = Get-ChildItem Cert:\LocalMachine\My\[certificate thumbprint]   $base64 = Get-Content .\password.txt   $encrypted = [Convert]::FromBase64String($base64)   $bytes = $cert.PrivateKey.Decrypt($encrypted,$true)   $password = [Text.Encoding]::UTF8.GetString($bytes)    最后,于檔案列表增加文件名來確認 password.txt 檔案已傳送至客制化腳本擴展。    Set-AzureVMCustomScriptExtension -ContainerName scripts -StorageAccountName '[your storage account  name]' -VM $vm -FileName 'start.ps1', 'CustomScriptSQLPS.ps1',  'password.txt' -Run 'start.ps1' | Update-AzureVM -Verbose

擴展閱讀,根據您訪問的內容系統為您準備了以下內容,希望對您有幫助。

oracle在azure上怎么備份

  Windows Azure的試用已經有一段時間了,其中存儲部分對一些數據備份需求提供了多一層的保護,用戶除了現有的災備選擇以外,可以考慮將一些重要信息保存至云端,以便在緊急情況時隨時隨地的進行恢復,而此過程并不需要額外的硬件成本,接下來就和大家分享一下通過Windows Azure存儲來備份和恢復SQL Server

  本示例是在windowsazure.com進行的,非*版本,操作界面或許有所區別

  #####################################################################################

  要想使用Windows Azure存儲服務,你的SQL Server一定要是2012SP1 CU2;此外還需要理清幾個概念:

  1. Windows Azure存儲賬戶

  【SQL Server 使用 Windows Azure storage account name 和 access key 值來進行身份驗證和對存儲服務寫入和讀取 blob。SQL Server 憑據存儲此身份驗證信息并在備份或還原操作期間使用它】

  wKioL1LKr8yxOMNIAAA8RDB8Vvs050.jpg

  2. Windows Azure Blob

  【容器:一個容器提供一組 Blob,可以存儲無限數目的 Blob(一個存儲賬戶下也可以包含無限個容器)。要將 SQL Server 備份寫入 Windows Azure Blob 服務,您必須至少創建一個容器。】

  【Blob:任意類型和大小的文件。Windows Azure Blob 存儲服務中可存儲兩類 blob:塊 blob 和頁 blob。SQL Server 備份將頁 Blob 作為 Blob 類型。Blob 采用以下 URL 格式尋址:https//<存儲帳戶>.blob.core.windows.net/<容器>/<blob>】

  wKiom1LKr9nAuWSqAABQ9ORZUk0929.jpg

  ###################################################################################

  搞明白上面的基本概念之后,我們就可以進行實際操作了,首先創建一個Windows Azure存儲賬戶,如下圖所示;注意該賬戶的URL以及所選地緣組,有關地緣組的概念可參考此鏈接http://msdn.microsoft.com/zh-cn/library/jj156085.aspx

  wKiom1LKrFDAeoz5AADnjmj3QZc248.jpg

  下圖是創建出來的存儲賬戶cloud2storage,點擊下方的manage access key就可以看到此賬戶的安全信息

  wKioL1LKrEXiDjTzAAEbAvL_f6k747.jpg

  access key有主輔兩個,在使用Blob服務時哪個都可以,此外點擊右邊的“regenerate”可從新生成,如下圖所示:

  wKiom1LKrFPBjCEKAAEOzMrMSKQ290.jpg

  接下來進入到剛才創建的存儲賬戶cloud2storage并點擊容器“containers”

  wKioL1LKrEiSj5lmAAFB1gWUNdE015.jpg

  點擊下方的“Add”可添加新的容器,記得訪問模式選擇“私有”(安全起見)

  wKiom1LKrFaQycQ9AAC_X-eqZHE406.jpg

  下圖是cloud2storage賬戶下的兩個“容器”,以waptenantdb為例,可以看到此容器的URL和最后修改時間

  wKioL1LKrEqhrFYnAAD7RO0VuRA828.jpg

  進入waptenantdb就可以看到Blob了,Blob可以說是Windows Azure存儲服務的最細粒度單位,如下圖所示當前容器下包含兩個SQL備份文件;同時下方還可以選擇“下載、編輯以及刪除”選項

  wKiom1LKrFijMSlGAADmVKuY71E020.jpg

  上面已經說過,若要使用Windows Azure存儲服務就需要創建憑據,如下圖所示;使用T-SQL語句創建一個名為“mysqlcredential”的憑據;可參考下面的例句

  【CREATE CREDENTIAL mycredential WITH IDENTITY= 'mystorageaccount' – this is the name of the storage account you specified when creating a storage account (See Lesson 1) , SECRET = '<storage account access key>' – this should be either the Primary or Secondary Access Key for the storage account (See Lesson 1) 】

  wKioL1LKrE3CsBToAAGZuRrMWsk391.jpg

  接著新建一個測試庫,并創建一個測試表以驗證我們稍后的備份恢復操作,如下圖所示:

  wKiom1LKrFzR6OdjAAHTHBwwFXM970.jpg

  下面就可以備份我們的SQL數據了,通過指定Blob的URL以及調用之前創建好的憑據即可,可參考下面的T-SQL語句:

  BACKUP DATABASE[AdventureWorks2012] TO URL = 'https//mystorageaccount.blob.core.windows.net/privatecontainertest/AdventureWorks2012.bak' /* URL includes the endpoint for the BLOB service, followed by the container name, and the name of the backup file*/ WITH CREDENTIAL = 'mycredential';/* name of the credential you created in the previous step */ GO

  wKioL1LKrFLyC71FAAG3V9OcB2k970.jpg

  回到容器界面可以看到剛才的備份命令已經成功執行,并且有了一個testbk20140106.bak的頁Blob

  wKiom1LKrGDjerMwAAD5OUUW2xM731.jpg

  之后可以把剛才的測試庫刪除,然后執行如下圖所示的語句來恢復庫,同樣是指定Blob的URL和憑據即可

  RESTORE DATABASE AdventureWorks2012 FROM URL = 'https://mystorageaccount.blob.core.windows.net/privatecontainertest/AdventureWorks2012.bak' WITH CREDENTIAL = 'mycredential';, STATS = 5 – use this to see monitor the progressGO

  wKioL1LKrFbznFurAAHzkAha3H0484.jpg

  以上便是使用Windows Azure存儲服務來備份和恢復SQL Server的一些基本方法,相信稍微有些數據庫維護經驗的朋友們一看即會;這樣有了云服務就給了我們數據保護多一種選擇,感興趣的朋友可以嘗試做一些定期備份作業指向Azure,畢竟多一手準備就多一份安心嘛

  • 本文相關:
  • 10個技巧加速Azure網站服務架設WordPress加載速度
  • 我該選擇哪一種 Azure 的分布式快取 (Cache) 方案?
  • Windows Azure網站服務新功能預覽: 生成PDF文件
  • 轉移資料至Microsoft Azure的步驟詳解
  • 構建一個簡單的演示應用程序Watson Films
  • 在Windows Azure上建立Redis Cache服務
  • 基于Bluemix的微信公共平臺應用開發
  • 為什么ASP.NET開發人員要了解Azure行動服務?
  • 微軟公布全新的Microsoft Azure StorSimple解決方案
  • 深入探究Windows Azure SQL Database中新等級的性能
  • 免責聲明 - 關于我們 - 聯系我們 - 廣告聯系 - 友情鏈接 - 幫助中心 - 頻道導航
    Copyright © 2017 www.13333515.buzz All Rights Reserved
    3排列五开奖结果