用于列出特定应用程序或服务的SQL Server数据库,大小和利用率的脚本

mud*_*u83 4 sql t-sql database sql-server-2008-r2

我不确定它是否可能,但我真的很感激任何帮助.

我正在寻找一个脚本,它可以生成SQL Server数据库的完整列表,其中包含SQL Server实例的每个数据库的以下详细信息:

  • 名称
  • 尺寸
  • 特定应用或服务的利用
  • 硬件利用率(CPU,内存,I/O等)

Chr*_*row 11

使用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
Run Code Online (Sandbox Code Playgroud)


jfo*_*ira 5

要仅获取一般信息(数据库名称、文件和大小),您可以成功运行“sp_databases”存储过程:

exec sp_databases
Run Code Online (Sandbox Code Playgroud)

如果以上在 SQL Server 2000 中不起作用,您可以尝试以下操作:

select *
from sys.sysdatabases
Run Code Online (Sandbox Code Playgroud)

但是您可以使用 SQLServer 附带的“SQL Profiler”获得更详细的跟踪和审计数据。