Microsoft fournit sur son site Microsoft Online Services dans la partie facturation un récapitulatif de consommation et de facturation des services utilisés pour chaque abonnement depuis la plateforme Azure. Cependant en ce qui concerne SQL Azure ce récapitulatif ne possède pas un niveau de granularité suffisant pour pouvoir étudier précisément les consommations de bandes passantes et d’utilisation au niveau base de données. Dans ce cas il faudra utiliser deux DMV prévues à cet effet et qui sont sys.bandwith_usage et sys.database_usage.
La DMV sys.bandwidth_usage permet de connaître le volume de données entrant et sortant pour chaque base de données. Un relevé est effectué toutes les heures. Chaque base de données possède donc deux lignes pour une heure passée : une pour les données entrantes et une pour les données sortantes. La DMV sys.database_usage, quant à elle, permet de connaître le mode d’utilisation de chaque base (Web ou Business). Un relevé est également effectué toutes les heures.
Dans mon cas pour le moment j’utilise deux requêtes qui se basent sur ces DMV :
SELECT
YEAR(time) AS [year],
MONTH(time) AS [month],
DAY(time) AS [day],
sku,
quantity
FROM sys.database_usage
et
SELECT
YEAR(time) AS [year],
MONTH(time) AS [month],
database_name,
direction,
quantity AS quantity_in_kb
FROM sys.bandwidth_usage
De plus, les choses étant bien faites je peux directement exploiter ces requêtes via Excel pour avoir un rendu un peu plus sympathique que le résultat brut des requêtes précédentes. Voici le Dashboard obtenu dans mon cas :
Ce dernier me permet de suivre :
- par mois les consommations de bande passantes en entrées et en sorties pour chaque base de données présente sur mon serveur SQL Azure
- par jour le nombre de bases utilisés en mode Web ou en mode Business
- les tendances de consommations générales de bande passantes en entrée et en sortie pour chaque base de données présente sur mon serveur SQL Azure
Bon cloud !!!
David BARBARIN (Mikedavem)
MVP SQL Server