Я думаю, что PowerShell, в частности команда Get-AzureSqlDatabaseUsages , является вашим лучшим другом здесь.Я делал это в прошлом как измененное «сердцебиение».При этом мы также проанализировали фрагментацию индекса и при необходимости вызвали REBUILD
.
Пример команды PowerShell сверху:
C:\> Get-AzureSqlDatabaseUsages -ServerName "Server01" -DatabaseName "Database01"
Для этого потребуется, чтобы вы прошли аутентификацию, но этосам по себе достаточно прост.
Вы можете выполнить сценарий по расписанию (т. е. в виде веб-задания или запланированной задачи) и создать отчет / уведомление на основе определенных пороговых значений метрики.
EDIT: для баз данных v12 используйте следующий запрос (который может быть выполнен программно с помощью PowerShell и sqlcmd.exe
)
SELECT SUM(CAST(FILEPROPERTY(name, 'SpaceUsed') AS bigint) * 8192.) AS DatabaseSizeInBytes,
SUM(CAST(FILEPROPERTY(name, 'SpaceUsed') AS bigint) * 8192.) / 1024 / 1024 AS DatabaseSizeInMB,
SUM(CAST(FILEPROPERTY(name, 'SpaceUsed') AS bigint) * 8192.) / 1024 / 1024 / 1024 AS DatabaseSizeInGB
FROM sys.database_files
WHERE type_desc = 'ROWS';