利用 T-SQL 查詢 SQL Database 的使用量及頻寬使用量

本文將介紹利用 SQL Databaes 專用的系統檢視查詢 SQL Database 的使用量及頻寬使用量。

情境描述

SQL Database 上新增了許多 SQL Server 所沒有的 T-SQL 系統物件,延續上一篇筆者談到如何查看 Windows Azure 帳單明細資料,本文將繼續介紹如何利用 T-SQL 查詢 SQL Database 的使用量與頻寬使用量。

實作步驟

您可以利用 sys.database_usage 系統檢視來查看 SQL Database 服務中資料庫發生使用量的日期、資料庫類型以及發生使用量的當天最大的資料庫單位(DU),例如下列的指令碼用來查看資料庫使用狀況(記得先連接到 master 系統資料庫再執行指令碼):

select *
from sys.database_usage
order by [time]

根據 Windows Azure 定價詳細資料頁面而言,0 至 100 MB 的資料庫大小在帳單上列帳的資料庫單位(DU)是 0.5 DU,因此您可以在執行結果中看到, 2012-12-19 到 2012-12-28 的 quantity 資料行的內容為 0.5,表示這段期間只用了一個 Web 類型且資料庫大小小於 100MB 的資料庫。

image

另外,您也可以利用 sys.bandwidth_usage 系統檢視來查看資料庫所使用的頻寬,由於在同一個子區域或資料中心內,SQL Database 和 Windows Azure 上的服務之間所使用的頻寬是免費的,因此建議您在規劃盡量讓會產生較大流量的服務擺在同一個子區域。

以下指令碼用來查看 SQL Database 中資料庫所使用的頻寬:

select *
from sys.bandwidth_usage
order by [time]

執行結果如下,您可以看到第一列 2012-12-19 09:00(time 資料行)master 資料庫(database_name 資料行)輸出(direction 資料行)到 Windows Azure 以外(External 資料行)使用了 56.942383 KB(quantity 資料行)。

image

參考資料

- Windows Azure SQL Database 中的帳戶和計費

- sys.database_usage (Windows Azure SQL Database)

- sys.bandwidth_usage (Windows Azure SQL Database)

- 達到 Windows Azure 的每月免費額度上限時,有關 SQL Database 的一些小細節