SQL Azure Team Blog

Microsoft SQL Azure Data Syncは、Microsoft Sync Frameworkテクノロジー上で構築されたクラウドベースのデータ同期サービスです。
双方向のデータ同期と、複数のデータセンターにあるSQL Azureデータベース間のデータを簡単にデータの整合性管理機能を提供します。現在のリリースは、コミュニティ テクニカル プレビュー 2(CTP2)です。

SQL Azure Data Syncの想定シナリオ

  • クラウドとクラウドの同期
  • エンタープライズ(オンプレミ)とクラウドの同期
  • エンタープライズとクラウドとエンタープライズの同期:オンプレミスのデータを他の遠隔地にあるオフィスと共有するのにクラウドを使用します

関連情報

SQL Azure Data Sync Wikiで、SQL Azure Data Syncの情報が大量に公開されています。wikiからリンクされているページを見ることで、SQL Azure Data Syncの全貌と実際の手順を把握することができると思います。

本家が、wikiで情報を更新していますので、見習って蒼の王座もwikiにてSQL Azure Data Syncの情報を発信していきたいと思います。

SQL Azure Data Sync – 蒼の王座 MSDN Library SQL Azre 日本語化

とりあえず、手始めにいくつかのページを意訳して公開しております。

が、気づいたのですが一番下のページを開いていただけば気づくかと思いますが、処理能力が追い付いていないので表示にえらい時間がかかっております(^^;
あまりにも負荷が高い場合は、Blogに再投稿するかもしれません。

元情報

本投稿は、Overview of SQL Azure DataSync – SQL Azure Team Blogを元にした投稿で、一部内容を変更しております。

SQL Azure Team Blog

Microsoft SQL Azure Data Syncは、Microsoft Sync Frameworkテクノロジー上で構築されたクラウドベースのデータ同期サービスです。
双方向のデータ同期と、複数のデータセンターにあるSQL Azureデータベース間のデータを簡単にデータの整合性管理機能を提供します。現在のリリースは、コミュニティ テクニカル プレビュー 2(CTP2)です。

SQL Azure Data Syncの想定シナリオ

  • クラウドとクラウドの同期
  • エンタープライズ(オンプレミ)とクラウドの同期
  • エンタープライズとクラウドとエンタープライズの同期:オンプレミスのデータを他の遠隔地にあるオフィスと共有するのにクラウドを使用します

関連情報

SQL Azure Data Sync Wikiで、SQL Azure Data Syncの情報が大量に公開されています。wikiからリンクされているページを見ることで、SQL Azure Data Syncの全貌と実際の手順を把握することができると思います。

本家が、wikiで情報を更新していますので、見習って蒼の王座もwikiにてSQL Azure Data Syncの情報を発信していきたいと思います。

SQL Azure Data Sync – 蒼の王座 MSDN Library SQL Azre 日本語化

とりあえず、手始めにいくつかのページを意訳して公開しております。

が、気づいたのですが一番下のページを開いていただけば気づくかと思いますが、処理能力が追い付いていないので表示にえらい時間がかかっております(^^;
あまりにも負荷が高い場合は、Blogに再投稿するかもしれません。

元情報

本投稿は、Overview of SQL Azure DataSync – SQL Azure Team Blogを元にした投稿で、一部内容を変更しております。

SQL Azure

SQL Azureのクエリパフォーマンスを分析するには、SQL Server Management Studioを使用するか、SET STATISTICS T-SQLコマンドを使用します。SQL Server Profilerは、今のところSQL Azureではサポートしていません。この投稿では、SQL Server Profilerの代わりに、サーバに実行されたT-SQLの結果セットを分析しパフォーマンスを改善することに焦点を当てます。

 

SQL Server Management Studio

 

SQL Server Management Studioを使用して、クエリの実行プランを表示することができます。実行プランを使用して、SQL Azureのインデックス使用状況、取得データ、各ステップごとの取得行数を知ることができます。

実行プランの取得方法

  1. SQL Server Management Studio 2008 R2を起動します。(このバージョンでは、簡単にSQL Azureに接続可能)
  2. 「新しいクエリ」ウィンドウを開きます。
  3. 新しいクエリウィンドウにクエリをコピペします。
  4. ツールバーの「実際の実行プランを含める」ボタンをクリックし、実行プランの表示を有効にします。

    000000

    または、メニューバーから「実際の実行プランを含める」を選択します。

    000001

  5. クエリを実行すると別のタブに実行プランが表示されます。

    20101026210719

実行計画の見方は、SQL Server 2008 R2と同じですので、この投稿では取り扱いません。「グラフィカル実行プランの表示 (SQL Server Management Studio)」を参照してください。クエリのパフォーマンスの改善する方法の一つに、カバードインデックスにする方法があります。「I/Oパフォーマンスを改善する」を参照してください。

 

USING "SET STATISTICS"

 

SET STATISTICSは、Transact-SQL コマンドで、SQL Server Mnagement Studioのクエリウィンドウで実行することで、クエリの実行統計を取得できます。SET STATISTICSは二種類あり、その一つが、SET STATISTICS TIME ONです。TIMEコマンドは、クエリのパースとコンパイル、実行時間を表示します。

クエリは次のようになります。

SET STATISTICS TIME ON

SELECT *

FROM SalesLT.Customer

      INNER JOIN SalesLT.SalesOrderHeader ON

            SalesOrderHeader.CustomerId = Customer.CustomerId

実行結果は、以下のようになります。ストップウォッチのような動作をします。

20101026210833

 

もう一つが、SET STATISTICSのオプションが、SET STATISTICS IO ONです。SQL AzureでのクエリのIOパフォーマンス状況が表示されます。

クエリは次のようになります。

SET STATISTICS IO ON

 

SELECT *

FROM SalesLT.Customer

      INNER JOIN SalesLT.SalesOrderHeader ON

            SalesOrderHeader.CustomerId = Customer.CustomerId

 

実行結果は、次のようになります。

20101026211540

 

実行しているSQLを取得する

 

SQL Serverでは、SQL Profilerを使用することでリアルタイムで現在実行しているクエリを取得することができます。SQL Azureでは、次のようなSQLを使用して、プロシージャキャッシュ経由で、実行回数と実行されたクエリを取得します。

SELECT q.text, s.execution_count

FROM sys.dm_exec_query_stats as s

      cross apply sys.dm_exec_sql_text(plan_handle) AS q

ORDER BY s.execution_count DESC

 

SQL Azureでのプロシージャキャッシュについては、「SQL Azure上のプロシージャキャッシュについて理解する」を参照してください。

この投稿は、Gaining Performance Insight into SQL Azure – TechNet Articles – Home – TechNet Wikiを紹介したものです。

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を意訳したものです。