我不确定它是否可能,但非常感谢任何帮助。
我正在寻找一个脚本,它可以生成 SQL Server 数据库的完整列表,其中包含 SQL Server 实例的每个数据库的以下详细信息:
- 姓名
- 尺寸
- 特定应用程序或服务的利用率
- 硬件利用率(CPU、内存、I/O 等)
我不确定它是否可能,但非常感谢任何帮助。
我正在寻找一个脚本,它可以生成 SQL Server 数据库的完整列表,其中包含 SQL Server 实例的每个数据库的以下详细信息:
使用 EXEC sp_databases 可能会显示错误的数据库大小。这是一个不错的、可靠的查询,它将提供所有数据库名称、大小和状态,但不知道哪些应用程序正在使用这些数据库:
SELECT
D.name,
F.Name AS FileType,
F.physical_name AS PhysicalFile,
F.state_desc AS OnlineStatus,
CAST((F.size*8)/1024 AS VARCHAR(26)) + ' MB' AS FileSize,
CAST(F.size*8 AS VARCHAR(32)) + ' Bytes' as SizeInBytes
FROM
sys.master_files F
INNER JOIN sys.databases D ON D.database_id = F.database_id
ORDER BY
D.name
要仅获取一般信息(数据库名称、文件和大小),您可以成功运行“sp_databases”存储过程:
exec sp_databases
如果上述方法在 SQL Server 2000 中不起作用,您可以尝试以下方法:
select *
from sys.sysdatabases
但是您可以使用 SQLServer 附带的“SQL Profiler”获得更详细的跟踪和审计数据。
您可以将Nagios用于各种监控任务。Nagios 提供对 MSSQL 的完整监控——包括可用性、数据库和表大小、缓存比率以及其他关键指标。