[SQL Database] 新バージョン(V12) へのアップグレード用 PowerShell コマンドレット

 

SQL Server/Microsoft Azure SQL Database サポート

福原 宗稚

Microsoft Azure SQL Database では、Basic/Standard/Premium エディションの環境で、新バージョン V12 へのアップグレードが可能になっています。これまでもポータル画面から、手動でアップグレードや、アップグレードの状態確認ができましたが、新しい Windows Azure PowerShell によって、PowerShell コマンドレットからも実施可能になりました。また、PowerShell コマンドレットでは、ポータル画面からできないアップグレードのキャンセルも可能という利点があります。

 

Start-AzureSqlServerUpgrade : 新バージョン V12 へのアップグレードを実行します。アップグレードは、バックグラウンドで行われるため、アップグレードを開始した後もデータベースはオンラインのまま使用可能です。

Get-AzureSqlServerUpgrade : 実行中のアップグレードの状態を確認します。

Stop-AzureSqlServerUpgrade : 実行中のアップグレードをキャンセルします。上記の通りアップグレード開始後もデータベースは使用可能ですが、万が一何か予期しない問題が発生した場合や、誤ってアップグレードを開始してしまったので改めて後日やり直したいといった場合に使えます。

 

手順

1.  Microsoft Web Platform Installer から、最新の Windows Azure PowerShell をインストールします。

image

※すでに Azure PowerShell のバージョンが、2015年5月リリースの 0.9.1 以上であれば、新たに Windows Azure PowerShell をインストールしなくてもこれらのコマンドレットは使用可能です。

 

2. ポータル画面から、対象のデータベースの情報を確認します。

Server version が、「V2」となっているのが旧バージョンですので、V12へのアップグレードが可能です。「V12」となっているのは、現時点ですでに新バージョンのため、アップグレードは不要です。

コマンドレット実行時に必要な以下の情報を、ポータル画面から確認しておきます。

  • Resource group
  • Server name

V2info

 

3. Windows Azure PowerShell から、コマンドレットを実行します。

事前にSwitch-AzureMode を実行し、Azure Resource Manager モードを有効にしておきます。

Switch-AzureMode –Name AzureResourceManager

01_Switch-AzureMode

 

例) アップグレードを開始します。<リソースグループ名>、<サーバー名> は、実際の名称を指定します。現時点では、ServerVersion には、12.0 のみ指定可能です。

Start-AzureSqlServerUpgrade -ResourceGroupName "<リソースグループ名>" -ServerName "<サーバー名>" -ServerVersion 12.0

02_Start_AzureSqlServerUpgrade

 

例) アップグレードの進捗を確認します。<リソースグループ名>、<サーバー名> は、実際の名称を指定します。

Get-AzureSqlServerUpgrade -ResourceGroupName "<リソースグループ名>" -ServerName "<サーバー名>"

アップグレード開始前は、Status が Stopped となっています。アップグレードをキャンセルした場合にも、Status は Stopped となります。

04_Get-AzureSqlServerUpgrade_Stopped

アップグレードを開始し、実行中の場合には、Status が Queued や InProgress になります。

04_Get-AzureSqlServerUpgrade_Queued 04_Get-AzureSqlServerUpgrade_InProgress

アップグレードが完了すると、Status が Completed となります。

04_Get-AzureSqlServerUpgrade_Completed

例) アップグレードをキャンセルします。<リソースグループ名>、<サーバー名> は、実際の名称を指定します。

Stop-AzureSqlServerUpgrade -ResourceGroupName "<リソースグループ名>" -ServerName "<サーバー名>"

05_Stop-AzureSqlServerUpgrade

 

※ 本ブログの内容は、2015年5月時点の情報です。