Сводка использования диска для всех баз данных, использующих SSMS - PullRequest
5 голосов
/ 11 сентября 2010

Как я могу увидеть все использование диска всеми моими базами данных на данном SQL Server в одном запросе. У меня на сервере около 15 разных баз данных, и я хочу посмотреть, какая из них использует максимальное дисковое пространство.

Я знаю, что могу видеть отчеты об использовании диска для каждой базы данных в SSMS или входить на сервер и видеть размер файлов MDF / LDF, но это кажется довольно очевидной функцией, которая должна идти с SSMS, и я не могу найти ее .

Ответы [ 2 ]

9 голосов
/ 11 сентября 2010

Эта хранимая процедура поможет.

exec sp_helpdb;

Вы получите примерно следующее:

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

Чтобы узнать больше о конкретной базе данных, выполните:*

9 голосов
/ 11 сентября 2010

Я не знаю ни одного встроенного способа, но вы можете использовать для этого (недокументированную) процедуру 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
...