SQL Azure Team Blog

SQL Azureで提供されている2つの動的管理ビュー(sys.database_usagesys.bandwidth_usage)を使用して、アカウントの稼働状況を確認することができます。
参考値として利用し、実際の課金額は別途オンラインポータルで確認してください。

 

次のクエリは、今月、自分のサーバにある全てのデータベース使用料を表示します。

SELECT           SKU as "種類",

                  SUM   (     CASE WHEN USAGE.SKU = ‘Web’

                                    THEN (Quantity * 979.02/31)

                               WHEN USAGE.SKU = ‘Business’

                                          THEN (Quantity * 9799.02/31)

                              END ) AS "費用()"

FROM              sys.Database_Usage USAGE

WHERE             datepart(yy, TIME) = datepart(yy, GetUTCDate())

AND               datepart(mm, TIME) = datepart(mm, GetUTCDate())

GROUP BY    SKU

Master DBに接続している時に、上のクエリを実行することができます。実行結果は以下のようになります。

SQL Azureの使用量は、ストレージ使用料だけでなく、データの転送量にも課金されます。

SELECT            USAGE.Time_Period as "オン/オフピーク",

                  USAGE.Direction as "送受信",

                  CASE WHEN USAGE.Direction = ‘Egress’

                              THEN 14.70 * USAGE.BandwidthInKB/(1024*1024)

                        WHEN USAGE.DIRECTION = ‘Ingress’

                              THEN 9.80 * USAGE.BandwidthInKB/(1024*1024)

                  END AS "費用()"

FROM (

                  SELECT      Time_Period,

                              Direction,

                              SUM(Quantity) AS BandwidthInKB

                  FROM        sys.Bandwidth_Usage

                  WHERE       datepart(yy, TIME) = datepart(yy, GetUTCDate())

                  AND         datepart(mm, TIME) = datepart(mm, GetUTCDate())

                  AND         class = ‘External’

                  GROUP BY    Time_Period, Direction

) AS USAGE

 

 

 

この投稿は、Billing Numbers Directly From Transact-SQL – TechNet Articles – Home – TechNet Wikiを意訳したものです。

SQL Azure

SQL Serverと異なるSQL AzureのConnection問題

 

SQL Azureは、高可用性を維持するためにロードバランスして、データベースがサーバーを移動します。
データベースが別のサーバーに移動すると、コネクションプールは、無効になります。

SQL Connectionを再接続(retry)しない場合、リクエストが失敗しエラーが発生します。
SQL Azureでは、再接続(retry)を組み込むことが重要になります。

接続(connection)が閉じると、問題を解決するためにconnection objectをcloseとopenするのに、数百msから数秒待つ必要があります。ごくまれに、再接続に失敗することがあります。

retry処理を組み込んだコード例が、「SQL Azure Connection Retry」(SQL Azure Connection Retry Updateの方が見やすいですね~)で紹介されています。

参考

SQL Azure Team Blog

Creating Tables with Project Houston – SQL Azure Team Blogの内容を簡単に紹介する投稿です。

マイクロソフトのプロジェクト コード名 ”Houston” 入門シリーズ(Part1)2つ目の投稿です。パート1では、基本的なログインと遷移について紹介しました。このエントリーでは、Houstonでテーブルデザイナーの使用方法について紹介します。マイクロソフトのプロジェクト コード名 “Houston”は、SQL Azure用の手軽なデータベース管理ツールで、CTP(コミュニティー テクノロジー プレビュー)版です。Houstonは、権限管理、クエリの実行、データベーススキーマのデザインと編集、テーブルデータの編集などの基本的なデータベース管理ラスクをすることができます。

今のところ、SQL Server Management Studio 2008 R2はSQL Azure用のテーブルデザイナーを提供していません。SQL Server Management Studio 2008 R2でテーブルを作成するには、CREATE TABLE文を実行することになります。プロジェクト Houstonはwebベースのテーブルデザイナーを提供しています。でもHoustonはCTP版ではあるが。。。

Houstonを使用するには、Microsoft Project Code-Named “Houston” CTPにアクセスします。(SQL Azure ラボでは、CTP版、もしくは実験的プロジェクトを扱います。)

 

テーブル構造の編集

 

ログインすると、左上にデータベース ナビゲーションバーが表示されます。

clip_image001

新しいテーブルの作成:

  1. “New Table”を選択します。
  2. ナビゲーションバーがテーブル ナビゲーションに変わります。

     

    clip_image002

  3. メインウィンドーにテーブルデザイナーモードで、新しいテーブルが表示されます。

    clip_image004

    タイトルの前にある星は、新しいテーブルで保存されていないことを示します。Houstonは、新しいテーブルに自動的に3つのカラムを追加します。必要に応じて、名前を変更したり、データ型を変更することができます。追加された新しいカラムを消したい場合は、名前を選択し、リボンバーのColumnsのDeleteボタンを選択します。

カラムを追加したい場合は、 +Columボタンを選択するかリボンバーにあるColumnsのNewボタンを選択します。

Houstonで使用している単語を、SQL Serverのツールで使用されている単語に置き換えられるように説明します。

  • Is Required? nullを登録することはできません。必ずデータを登録する必要があるカラムであることを意味します。
  • Is Primary Key? カラムが主キーであることを示し、クラスター化インデックスが作成されます。
  • Is Identity? 自動インクリメント列です。通常、主キーと連携します。bigint, int, decimal, float, smallint, tinyint データ型のみで提供されます。

 

保存

テーブルデザインのSQL Azureへのcommit準備ができたら、リボンバーの Save ボタンで保存する必要があります。

clip_image005

既知の幾つかの制限があります。複数行の主キーの作成は失敗します。テーブル名やカラム名を変更し、保存しようとすると失敗することがあります。

フィードバック

プロジェクトHoustonは通常のMicrosoftサポートサービスのサポートを受けることはできません。コミュニティベースのサポートは、SQL Azure Labs Support Forumに質問を投稿することができます。プロダクトチームが回答します。

 

バグの登録の仕方

  1. フィードバック | Microsoft Connectに移動する。
  2. すでにフィードバックが報告されていないか検索し確認してください。
  3. まだ報告されていない場合は、ページの一番下に移動し、オレンジの「Submit Feedback」をクリックしてください。
  4. 「Select Feedback」上の、「SQL Server Suggestion Form」をクリックします。
  5. バグフォームで、「Category」=Tools(Houston)を選択します。
  6. 質問を入力します。
  7. マイクロソフトに送信するため「Submit」をクリックします。

フィードバックの仕方

  1. フィードバック | Microsoft Connectに移動する。
  2. すでに問題が報告されていないか検索し確認してください。
  3. まだ報告されていない場合は、ページの一番下に移動し、オレンジの「Submit Feedback」をクリックしてください。
  4. 「Select Feedback」上の、「SQL Server Bug Form」をクリックします。
  5. バグフォームで、「Version」=Houston build CTP 1 – 10.50.9610.34を選択します。
  6. バグフォームで、「Category」=Tools(Houston)を選択します。
  7. 質問を入力します。
  8. マイクロソフトに送信するため「Submit」をクリックします。

SQL Azure Team Blog

この投稿は、Securing Your Connection String in Windows Azure: Part 1からSecuring Your Connection String in Windows Azure: Part 4までの全4回の記事を意訳したものです。一部、表現を変えてるところがありオリジナルと異なる箇所があります。

SQL Azure環境をセキュアに取り扱おうには、SQL Azureへの接続文字列をセキュアに扱う必要があります。Windows AzureでSQL Azureに接続するアプリケーションを動作させるには、Windows Azureのコードに接続文字列を組み込まなければなりません。しかし、Windows Azureのパッケージを作成する開発者に本番環境のデータベースのパスワードを教えたく無い場合があります。
この投稿では、Windows Azure環境で、SQL Azureへの接続文字列をセキュアに扱う方法について説明します。

接続文字列は、ログインIDとパスワードを含んでおり、通常は平文の文字列です。この投稿の目的は、Windows Azureからデータベースに接続するアプリケーションで、プログラムは接続文字列を認識でき、開発者には読めないように暗号化することです。暗号化した接続文字列をアプリケーションが解読できるようにキーを予めWindows Azureに持たせる必要があります。かつ開発者には知ることができないようにする必要があります。

SQL Azure

SQL Server to SQL Azure Synchronization using Sync Framework 2.1 | LiamCavanagh | Channel 9のビデオを見て簡単に内容を書き起こしてみました。

Download details: Microsoft Sync Framework 2.1 Software Development Kit (SDK)から、SDKをダウンロードします。64ビット版と84ビット版の両方が公開されているので、自分のインストールしているVisual Studioに一致するSDKをダウンロードします。

20100904234949

ローカルのSQL Serverに「AdventureWorksLT」データベースを用意します。Codeplexからダウンロードし、インストールします。SQL Server Management Studio 2008 R2でデータベースに接続します。