我对 SQL Server 很陌生。我想收集整个 SQL Server 实例的数据库磁盘空间指标。
我找到了一个代码示例,可以收集每个数据库的磁盘空间信息。
IF OBJECT_ID('DISK.dbo.disk_activity') IS NOT NULL
DROP TABLE disk_activity
CREATE TABLE disk_activity (
servername NVARCHAR(100)
, database_id INT PRIMARY KEY
, name NVARCHAR(MAX)
, data_used_size DECIMAL(18,2)
, log_used_size DECIMAL(18,2)
)
DECLARE @SQL NVARCHAR(MAX)
SELECT @SQL = STUFF((
SELECT '
USE [' + d.name + ']
INSERT INTO DISK.dbo.disk_activity (servername, database_id, name, data_used_size, log_used_size)
SELECT
(SELECT @@SERVERNAME AS "Server Name") AS SERVER_NAME
, DB_ID()
, DB_NAME()
, SUM(CASE WHEN [type] = 0 …Run Code Online (Sandbox Code Playgroud)