使用SSMS的所有数据库的磁盘使用情况摘要

mvm*_*mvm 5 sql-server ssms sql-server-2008

如何在一个查询中查看给定SQL Server上所有数据库的所有磁盘使用情况.我的服务器上有大约15个不同的数据库,我想看看哪个数据库使用的是最大磁盘空间.

我知道我可以在SSMS中看到每个数据库的磁盘使用情况报告或登录到服务器并查看MDF/LDF文件的大小,但这似乎是一个非常明显的功能,应该与SSMS一起提供,我似乎无法找到它.

Mar*_*ith 9

我不知道任何内置方式,但你可以使用(未​​记录的)sp_MSforeachdb程序.

CREATE TABLE #files(
    [dbname] [sysname] NOT NULL,
    [name] [sysname] NOT NULL,
    [physical_name] [nvarchar](260) NOT NULL,
    [size] [int] NOT NULL,
    [max_size] [int] NOT NULL,
    [growth] [int] NOT NULL
)

EXEC sp_MSforeachdb ' 
insert into #files
select ''[?]'',name,physical_name,size,max_size,growth
from [?].sys.database_files'


SELECT [dbname]
      ,[name]
      ,[physical_name]
      ,[size]
      ,[max_size]
      ,[growth]
  FROM #files
Run Code Online (Sandbox Code Playgroud)


Eri*_*ikE 9

这个存储过程会有所帮助.

exec sp_helpdb;
Run Code Online (Sandbox Code Playgroud)

你会得到这样的东西:

name      db_size       owner         dbid created     status                                                                                                                                                                                                                                                                          compatibility_level
--------- ------------- ------------- ---- ----------- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ------------------- 
Database1    7262.81 MB DOMAIN\Admin  5    Aug 25 2010 Status=ONLINE, Updateability=READ_WRITE, UserAccess=MULTI_USER, Recovery=FULL, Version=661, Collation=SQL_Latin1_General_CP1_CI_AS, SQLSortOrder=52, IsAutoCreateStatistics, IsAutoUpdateStatistics                                                                             100
Project27   22781.81 MB DOMAIN\User42 13   Oct 13 2011 Status=ONLINE, Updateability=READ_WRITE, UserAccess=MULTI_USER, Recovery=FULL, Version=661, Collation=SQL_Latin1_General_CP1_CI_AS, SQLSortOrder=52, IsTornPageDetectionEnabled, IsAnsiNullsEnabled, IsAutoCreateStatistics, IsAutoUpdateStatistics, IsQuotedIdentifiersEnabled 100
MyDBName       84.69 MB DOMAIN\Me     14   Oct 14 2011 Status=ONLINE, Updateability=READ_WRITE, UserAccess=MULTI_USER, Recovery=FULL, Version=661, Collation=SQL_Latin1_General_CP1_CI_AS, SQLSortOrder=52, IsAutoCreateStatistics, IsAutoUpdateStatistics, IsFullTextEnabled                                                          100
Run Code Online (Sandbox Code Playgroud)

要了解有关特定数据库的更多信息,请执

exec sp_helpdb DatabaseName;
Run Code Online (Sandbox Code Playgroud)