SQL Azure

Azure SQL Data Warehouseサービスは、数秒以内でコンピュートリソース量を動的に設定することができます。アサインするDWU(Data Warehouse Units=コンピュートパワー)量の設定は、Azure Portalを開いて、データベースブレードを表示することで表示できます。

SQL チームは、DWU設定情報にプログラム的にアクセスすることができる新しいDMV(sys.database_service_objectives)を紹介します。論理サーバーのmasterデータベースに接続し、次のクエリを発行します。

SELECT
db.name [Database],
ds.edition [Edition],
ds.service_objective [Service Objective]
FROM
sys.database_service_objectives ds
JOIN sys.databases db ON ds.database_id = db.database_id

このクエリは、論理サーバー上のすべてのデータベースとサービスオブジェクト(DWU設定を含む)を返します。

この例では、3つのData Warehouseと1つのAzure SQL Databaseがあります。

SELECT
db.name [Database],
ds.edition [Edition],
ds.service_objective [Service Objective]
FROM
sys.database_service_objectives ds
JOIN sys.databases db ON ds.database_id = db.database_id
WHERE
ds.edition = 'DataWarehouse'

tool

featuresql-server-logo

 

SQL Server Management Studio 2016年2月版がリリースされました。
今回のバージョンでは、2016年1月リリースまでのすべての更新が含まれています。

機能改善と多くのバグ修正をしています。
アクティビティモニターでのハイコントラスト設定、いくつかのユーザーインターフェイス改善、Always Encryptedダイアログのバグ修正など、その他にもいろいろな部分が対象となっています。

SQL Server Management Studioは従来、SQL Serverのメジャーバージョンに紐づいてリリースされてきました。
それでは、Azure SQL Databaseへの柔軟な対応がしにくいため、SQL Server製品から切り離されて、ツール単独でのリリースサイクルになりました。
最近では、月1回のペースで、○年○月版という形で、SQL Server Management Studioがリリースされています。

ダウンロード

SSMS February 2016 Preview

今回のプレビューのリリース番号は、13.0.12000.65です。

更新内容

  • SSMSでハイコントラスト設定を有効にしたとき、アクティビティモニターでのテキスト表示を改善しました。
  • 暗号化プロセスでカラムコレクションを変更する際に、警告を表示するためのAlways Encyptedウィザードを改善しました。
  • Column Encryptionキー、Column Encyptionキーの値、Column Master キーを作成する際のSSMSポリシー管理を改善しました。
  • Always EncyptedマスターキーのクリーンアップダイアログとAlways Encyptedエラーメッセージのユーザービリティを改善しました。
  • 一つのキーしかない場合、Always Encyptedマスターキーローテーションを無効にするようバグ修正しました。
  • プラン比較ツールをアップデートしました。

更新履歴

tool

featuresql-server-logo

SQL Server Management Studio 2016年1月版がリリースされました。
今回のバージョンでは、2015年12月リリースまでのすべての更新が含まれています。

機能改善と多くのバグ修正をしています。
実行プラン比較、SSMS結果タブ、拡張イベントセッションウィザードなど、その他にもいろいろな部分が対象となっています。

SQL Server Management Studioは従来、SQL Serverのメジャーバージョンに紐づいてリリースされてきました。
それでは、Azure SQL Databaseへの柔軟な対応がしにくいため、SQL Server製品から切り離されて、ツール単独でのリリースサイクルになりました。
最近では、月1回のペースで、○年○月版という形で、SQL Server Management Studioがリリースされています。

ダウンロード

SSMS January 2016 Preview

今回のプレビューのリリース番号は、13.0.1000.281です。

更新内容

  • 拡張イベント(XEvent)セッションの削除をできるようにバグ修正しました。
  • SQL Server 2014の可用性グループのプロパティを開く際のバグを修正しました。
  • 可用性グループにAzureレプリカを追加できるようにバグを修正しました。
  • SQL Server 2014データベースのプロパティダイアログを開く際のバグを修正しました。
  • Azure SQL Databaseに接続したとき、テーブルの重複列を表示しないようにしました。

過去履歴

Windows Azure

Web Appsには、PHPランタイムが標準でインストールされているので気軽にPHPを使ってコーディングすることができます。Azure Storage ServiceをPHPから使いたい場合は、Azure SDK for PHP を使用すると簡単に処理を書くことができます。

でも、動作させるのに一部不明点もあり、はまったので回避策をメモしておきます。この回避策がいいのか、回避しなくても公式ドキュメント通りで良いのかは不明。

Azure SDK for PHPの環境準備

公式ドキュメントによると、Composer経由でのインストールや、PEARパッケージでのインストールが案内されています。まぁこの通りにやれば動作すると思うのです。

でも、これで環境を作成した場合は、インスタンスが移動したり、スケールアップ/ダウンさせた場合、環境は残っているのだろうか。永続化されるのだろうか…?

これに関しては正解は調べきれてないのだけど、なんとなく永続化対象外になりそうだったので、永続化されるように環境を作りました。

.user.ini ファイルの準備

githabuを使用した自動デプロイメントの環境でWeb Appsにデプロイしているので、githubにコミットしたもので構築した環境なら永続化されるだろうって、ことでコミットしまくります。

Azure SDK for PHPの依存ライブラリを使うために、依存ライブラリを配置するディレクトリを、.user.iniファイル(これは、rootディレクトリに配置。githubでコミットする際のルートディレクトリ配下。)を作成して、以下内容を記述しました。

include_path = ‘.;D:\home\site\wwwroot\php’

ついでに、デバッグしやすいようにログの出力先の変更と画面への表示を許可することにしました。

error_log=D:\Home\site\wwwroot\php_errors.log
display_errors=On 
html_errors=On 
error_reporting=E_ALL & ~E_DEPRECATED & ~E_STRICT

これで下準備OK!

依存ライブラリのインストール

依存ライブラリを配置します。配置場所は、rootディレクトリ直下にphpディレクトリを作成し、そこに配置しました。
配置したのは、HTTP/Request2、Net/URL2、PEARの3つ。

image

 

Azure SDK for PHP のインストール

ここまでで準備が完了したので、Azure SDK for PHPを実際にダウンロードして配置します。

後は、公式ドキュメント通り。

require_once ‘.\WindowsAzure\WindowsAzure.php’;

use WindowsAzure\Common\ServicesBuilder;
use WindowsAzure\Common\ServiceException;

読み込んで、名前空間を宣言します。そのあと、接続文字列を書いて、それをProxyに渡すと。

$connectionString = “DefaultEndpointsProtocol….”;
$blobRestProxy = ServicesBuilder::getInstance()->createBlobService($connectionString);

これで、例えばBlockBlobを追加するなら、それを呼び出すと。

try {
     //Upload blob
     $blobRestProxy->createBlockBlob(“traning”, $blob_name, $content);
}
catch(ServiceException $e){
     // Handle exception based on error codes and messages.
     // Error codes and messages are here:
     // http://msdn.microsoft.com/library/azure/dd179439.aspx
    $code = $e->getCode();
    $error_message = $e->getMessage();
    echo $code.”: “.$error_message.”<br />”;
}

これで処理完了。簡単ですね。

Windows Azure

お名前.comで購入したドメインを使用して、Azure App Serviceのカスタムドメインを設定した時のメモ。

  1. Azure App Serviceのプラン/価格レベルの変更
    F1 Freeではカスタムドメインを設定できないので、D1 Sharedに変更
  2. カスタムドメインを設定するために、onamae.comにログインし、ネームサーバーの設定をする
    [ネームサーバーの設定]-[DNS関連機能の設定]を選択し、対象のドメインの設定をする
    設定するのは、次の3レコード。
    SNAGHTML6cd6448a

    example.comをAレコードでIPアドレス(IPアドレスはポータルで確認)
    www.example.comをCNAMEレコードでexample.azurewebsites.net
    awverify.example.comをCNAMEレコードでawverify.example.azurewebsites.net

  3. Azureポータルで、Webサイトの設定で、カスタムドメインを設定する
    [設定]-[ルーティング]-[カスタムドメインおよびSSL]を選択する
    image
  4. 外部ドメインの使用を選択する
  5. ドメイン名に次の2つを設定する
    www.example.com
    example.com

    この画面で表示されるIPを2番で設定する。