使用Azure Power Shell 變更資料庫服務層和效能層級

      目前的專案有一需求是在資料匯入時,將服務層級提高來加快匯入的速度,待完畢後再降回來,避免資源(金錢)的浪費。趁此K了一下最近剛入手的
Azure教戰手札,並撰寫一支Power Shell Script來玩玩。

前置工作

 
  1. 第一次使用PowerShell,需設定ExecutionPolicy: Set-ExecutionPolicy -ExecutionPolicy RemoteSigned
    ps:此動作要使用Administrator執行
  2. 先確定是否已安裝Azure Power Shell

    image
    ps:安裝後,需要重新開機,否則會出現找不指令錯誤

匯入認證資訊

連接Azure的方式有2種
  1. 使用帳號密碼登入,但前提是該帳號要使用Azure AD

    image
  2. 透過發行檔登入(本文使用此方式),輸入Get-AzurePublishSettingsFile,執行後會開啟發行設定的視窗來下載
image
使用該發行檔作登入
Import-AzurePublishSettingsFile -PublishSettingsFile "E:\GitHub\AzureSqlLevelChangeLab\Free Trial-10-21-2015-credentials.publishsettings"
image


切換訂閱資訊

在執行Azure服務時,會使用預設的訂閱ID來執行,若你的電腦有多個訂閱資訊,可以使用Select-AzureSubscription來切換。

image
Select-AzureSubscription -SubscriptionId "xxxx-8b63-4874-a1e2-xxxxxx"


調整資料庫服務層

  1. Get-AzureSqlDatabase 取得資料庫
  2. Get-AzureSqlDatabaseServiceObjective 取得服務層級物件
  3. Set-AzureSqlDatabase 設定資料庫
    • –ServiceObjective 透過Get-AzureSqlDatabaseServiceObjective取得
    • –Edition 版本 : Basic、Standard、Premium
執行命令如下:
$serverContext="mysql"
$db = Get-AzureSqlDatabase $serverContext –DatabaseName "myDb"
$level=Get-AzureSqlDatabaseServiceObjective  $serverContext -ServiceObjectiveName "P1"
Set-AzureSqlDatabase $serverContext –Database $db –ServiceObjective $level -Force –Edition Premium
執行完後,回去 Portal會看到正在變更等級的畫面
image

範例下載

參考來源

https://msdn.microsoft.com/zh-tw/library/azure/dn369872.aspx

http://www.books.com.tw/products/0010689140

這個網誌中的熱門文章

[.NET Core] 將專案發行至IIS

[TFS] 分支與合併