feat(inputs.sqlserver): add data and log used space metrics for Azure SQL DB (#12126)
This commit is contained in:
parent
404c0475d0
commit
58d7dfc43f
|
|
@ -234,19 +234,22 @@ SELECT
|
||||||
WHEN slo.[edition] = 'Hyperscale' then NULL
|
WHEN slo.[edition] = 'Hyperscale' then NULL
|
||||||
ELSE CAST(DATABASEPROPERTYEX(DB_NAME(),'MaxSizeInBytes') as bigint)/(1024*1024)
|
ELSE CAST(DATABASEPROPERTYEX(DB_NAME(),'MaxSizeInBytes') as bigint)/(1024*1024)
|
||||||
END AS [total_storage_mb]
|
END AS [total_storage_mb]
|
||||||
|
,(SELECT SUM(CAST(FILEPROPERTY(name, 'SpaceUsed') AS INT) / 128) FROM sys.database_files WHERE type_desc = 'ROWS') AS used_storage_mb
|
||||||
,CASE
|
,CASE
|
||||||
WHEN slo.[edition] = 'Hyperscale' then NULL
|
WHEN slo.[edition] = 'Hyperscale' then NULL
|
||||||
ELSE (
|
ELSE (
|
||||||
cast(DATABASEPROPERTYEX(DB_NAME(),'MaxSizeInBytes') as bigint)/(1024*1024) -
|
SELECT (CAST(DATABASEPROPERTYEX(DB_NAME(), 'MaxSizeInBytes') AS BIGINT) / (1024 * 1024) - SUM(CAST(FILEPROPERTY(name, 'SpaceUsed') AS INT) / 128))
|
||||||
(select SUM([size]/128 - CAST(FILEPROPERTY(name, 'SpaceUsed') AS int)/128) FROM sys.database_files)
|
FROM sys.database_files
|
||||||
|
WHERE type_desc = 'ROWS'
|
||||||
)
|
)
|
||||||
END AS [available_storage_mb]
|
END AS [available_storage_mb]
|
||||||
|
,(SELECT SUM(max_size) * 8 / (1024 * 1024) FROM sys.database_files WHERE type_desc = 'LOG') AS max_log_mb
|
||||||
,(select DATEDIFF(MINUTE,sqlserver_start_time,GETDATE()) from sys.dm_os_sys_info) as [uptime]
|
,(select DATEDIFF(MINUTE,sqlserver_start_time,GETDATE()) from sys.dm_os_sys_info) as [uptime]
|
||||||
,DATABASEPROPERTYEX(DB_NAME(), 'Updateability') as replica_updateability
|
,DATABASEPROPERTYEX(DB_NAME(), 'Updateability') as replica_updateability
|
||||||
FROM sys.[databases] AS d
|
FROM sys.[databases] AS d
|
||||||
-- sys.databases.database_id may not match current DB_ID on Azure SQL DB
|
-- sys.databases.database_id may not match current DB_ID on Azure SQL DB
|
||||||
CROSS JOIN sys.[database_service_objectives] AS slo
|
CROSS JOIN sys.[database_service_objectives] AS slo
|
||||||
WHERE
|
WHERE
|
||||||
d.[name] = DB_NAME()
|
d.[name] = DB_NAME()
|
||||||
AND slo.[database_id] = DB_ID();
|
AND slo.[database_id] = DB_ID();
|
||||||
`
|
`
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue