T-SQLでSQL Azureの課金額を取得する方法

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