SQL Azure

SQL Server Data Tools (SSDT)は、Visual Studioに統合されたデータベースの開発支援ツールです。SQL Server Data Toolsのプレビュー更新2015年8月版では、インストーラーの変更とBusiness Intelligence(BI)ツールをVisual Studioに統合する機能追加がされました。

ダウンロード

概要

インストーラーが変更されてます

データベースツールは、SQL Server 2015からSQL Server 2016、Azure SQL Databasesをサポートしています。Business Intelligenceツールについては、SQL Server 2016には限定的な対応となっていますが、RTM時には対応します。

DBとBIに対応するインストーラーは、Visual Studio 2015のみの提供です。Visual Studio 2013に両方インストールするには、別々のインストーラー(SSDTとSSDT-BI)を使用してください。

参考サイト

SQL Azure

Azure SQL Elastic Database Poolでは、性能の下限と上限を選択し、突発的な負荷にも対応できるように柔軟な性能を得ることができます。詳細については、「Azure SQL DB – Elastic Database Poolについて」で紹介しています。

T-SQLでデータベースを作成する際に、Elastic Poolを指定できるようになりましたので紹介します。

SQL Elastic Database Poolの作成

今のところ、Elastic Database Pool事態は、事前にPortalで作成しておく必要がありそうです。T-SQLで、Elastic Database Poolを作成する構文はなさそう。

image

データベースの作成

CREATE DATABASE database_name
{
   ( [, ...n]) 
}
 ::= 
{
      MAXSIZE = { 100 MB | 500 MB | 1 | 5 | 10 | 20 | 30 … 150…500 } GB  
    | EDITION = { 'web' | 'business' | 'basic' | 'standard' | 'premium' } 
    | SERVICE_OBJECTIVE = { 'shared' | 'basic' | 'S0' | 'S1' | 'S2' | 'P1' | 'P2' | 'P3' | { ELASTIC_POOL(name = ) } } 
}

Elastic Database Poolに新しいデータベースを作成するためには、SERVICE_OBJECTIVEで、ELASTIC_POOL でプール名を指定します。次の例では、hogeがプール名となっており、「’」で括らずに指定します。

image

データベースの設定変更

ALTER DATABASE database_name 
{
    MODIFY NAME =new_database_name
  | MODIFY (  [, ... n] ) 
  | COLLATE collation_name
  | SET {  } 
}

 ::= 
{
      MAXSIZE = { 100 MB | 500 MB |1 | 5 | 10 | 20 | 30 … 150 … 500 } GB  
    | EDITION = { 'web' | 'business' | 'basic' | 'standard' | 'Premium' } 
    | SERVICE_OBJECTIVE = { 'shared' | 'basic' | 'S0' | 'S1' | 'S2' | 'P1' | 'P2' | 'P3' | { ELASTIC_POOL(name = ) } } 
}

Elastic Poolリソースの確認

論理サーバー上にあるすべてのElastic Database Poolの私用統計情報を返します。Elastic Database Pool毎に、5分間のCPU、IO、Log、ストレージ、リクエスト数、レスポンス数を提示します。

SELECT * FROM sys.elastic_pool_resource_stats 
ORDER BY end_time DESC;

image

参考サイト

SQL Azure

Azure SQL Database を使用する場合の推奨事項に、リトライロジックを組み込み、クエリ発行に失敗しても複数回リトライをするというものがあります。

実装方法としては、Entity Framework のリトライ機構を使用するか、自分自身で実装する方法の2種類あります。

今回紹介するのは、Azure のドキュメントに掲載されたサンプルです。MSDNのサンプルは、そこで説明したいことが明確になることを目的としていることが多く、そのまま使用できないことが多いです。しかし、今回紹介するのは、そのまま利用しやすいようになっています。

(発行クエリの定義方法については書き換えないと使えませんが。)

SQL Azure

Azure SQL Data Warehouse (プレビュー版)がレジストされたので、こちらのファーストガイドを参照しながら、環境構築をして触り始めました。Azure SQL Data Warehouse については、概要を一度紹介済みなのでそちらを見てください。

もしくは、MSエヴァの井上さんがスライドにまとめているので、そちらを参照しても良いと思います。

レジスト完了のメール通知

Azure SQL Data Warehouseの登録が完了すると、メールが届きます。
プレビュー版では、レジストする Azure SQL Database のサーバーを個別指定して、レジストしてもらう流れになっています。

image

Azure SQL Data Warehouse サービスのプロビジョニング

次にポータルから、SQL Data Warehouse を追加します。

image

 

個別レジストなので、使用できるAzure SQL Database サーバーも限定されています。

image

SQL Data Warehouse が作成できたら、次に先ほど指定した Azure SQL Database サーバーのファイアーウォールにIPを指定して、アクセスできるようにします。

image

SQL Data Warehouse への接続

Azure SQL Data Warehouse に接続するには、SQL Server Data Tools (SSDT)のバージョン12.0.50623移行が必要です。

Visual Studio のSQL Serverオブジェクトエクスプローラーから、Azure SQL Data Warehouseに接続します。

image

資格情報を入力すると、接続できます。

image

 

もしくは、Azure PortalのVisual Studioで開くから、簡単に接続することもできます。

image

サンプルデータのインポート

サンプルデータをインポートします。

ここからサンプルデータをダウンロードします。ダウンロードしたAdventureWorksPDW2012.zipファイルを解凍します。解凍したファイルの中にある「aw_create.bat」を修正し、資格情報を入力します。

image

バッチをダブルクリックして実行します。
1分ぐらいはコマンドウィンドウに何も表示されませんが、気にせず待っていてれば進行します。

バッチが終了したらクエリを実行して、データインポートが完了しているか確認します。

SELECT * FROM DimEmployee;

SQL Azure

Azure SQL Database は、9/12にWeb、Businessエディションのサービス提供が終了します。新しいサービス帯であるBasic、Standard、Premiumに移行しなければなりません。V11からV12への自動移行も予告されています。

自動アップグレードについては、ポータルにも次のように表示されます。

image

アップグレードの延期方法

アップグレードを延期するための方法として、PowerShellコマンドレットが提供されています。このコマンドレットは、Azure Resource Managerを使用します。

PS C:\> Switch-AzureMode -Name AzureResourceManager

次に、サブスクリプションへのアクセスを設定します。もっとも簡単な方法は、Add-AzureAccountコマンドレットを使用することです。

設定方法は、ここを参考にしてください。

自動アップグレード関係のコマンドレットを確認してみましょう。

PS C:\> get-help *-AzureSqlServerUpgrade | select -Property Name

Name

—-

Stop-AzureSqlServerUpgrade

Start-AzureSqlServerUpgrade

Get-AzureSqlServerUpgrade

アップグレード日付を変更してみましょう。

変更するには、引数にサーバー名とリソースグループを指定する必要があります。

image

自動アップグレードの日付を変更し、アップグレードを延期します。

PS C:\> Start-AzureSqlServerUpgrade -ServerName w5axll7xap -ResourceGroupName Default-SQL-SouthCentralUS -ServerVersion 12.0 -ScheduleUpgradeAfterUtcDateTime 2015-06-12

ResourceGroupName               : Default-SQL-SouthCentralUS

ServerName                      : w5axll7xap

ServerVersion                   : 12.0

ScheduleUpgradeAfterUtcDateTime : 6/12/2015 12:00:00 AM

DatabaseCollection              :

アップグレードのキャンセル

キャンセルする方法は2種類用意されています。

ポータルでキャンセルボタンをクリックすることでキャンセルできます。

image

もしくは、PowerShellコマンドレットもできます。

まずは現在の状態を確認してみます。

PS C:\> Get-AzureSqlServerUpgrade -ServerName w5axll7xap -ResourceGroupName Default-SQL-SouthCentralUS |Format-Table

ResourceGroupName              SerrverName                     Status

—————–              ———-                      ——

Default-SQL-SouthCentralUS     w5axll7xap                      InProgress

アップグレードをキャンセルしてみます。

PS C:\> Stop-AzureSqlServerUpgrade -ServerName w5axll7xap -ResourceGroupName Default-SQL-SouthCentralUS

ResourceGroupName              SerrverName                     Status

—————–              ———-                      ——

Default-SQL-SouthCentralUS     w5axll7xap                      Cancelling

キャンセルが完了し、自動アップグレードが停止した状況を確認してみましょう。

PS C:\> Get-AzureSqlServerUpgrade -ServerName w5axll7xap -ResourceGroupName Default-SQL-SouthCentralUS |Format-Table

ResourceGroupName              SerrverName                     Status

—————–              ———-                      ——

Default-SQL-SouthCentralUS     w5axll7xap                      Stopped

 

参照元

Azure SQL DatabaseのサポートチームBlogに投稿された「Stopping or Postponing an upgrade to SQL Database V12」をざっくり意訳した投稿です。