Отображение сведений о месте на диске, занимаемом данными и журналами базы данных

Применимо к:SQL ServerAzure SQL DatabaseAzure Managed InstanceAzure Synapse Analytics AnalyticsPlatform System (PDW)

В этой статье описывается отображение данных и сведений о пространстве журнала для базы данных в SQL Server с помощью SQL Server Management Studio или Transact-SQL.

Подготовка к работе

Разрешение на выполнение процедуры sp_spaceused предоставлено роли public. Параметр @updateusage могут указывать только члены предопределенной роли базы данных db_owner.

Использование среды SQL Server Management Studio

Отображение данных и сведений о пространстве для базы данных

  1. В обозревателе объектов подключитесь к экземпляру SQL Server, а затем разверните этот экземпляр.

  2. Разверните узел Базы данных.

  3. Щелкните базу данных правой кнопкой мыши, наведите указатель на пункт Отчеты, затем на пункт Стандартные отчеты и выберите пункт Использование диска.

Использование Transact-SQL

Отображение данных и сведений о пространстве журнала для базы данных при помощи процедуры sp_spaceused

  1. Соединитесь с ядром СУБД .

  2. На стандартной панели инструментов выберите пункт Создать запрос.

  3. Вставьте следующий пример в окно запроса и нажмите кнопку Выполнить. В этом примере используется системная хранимая процедура sp_spaceused, которая передает сведения о заполнении места на диске для всей базы данных, включая таблицы и индексы.

    USE AdventureWorks2022;  
    GO  
    EXEC sp_spaceused;  
    GO  
    

Отображение пространства данных, используемого объектом и единицей распределения для базы данных

  1. Соединитесь с ядром СУБД .

  2. На стандартной панели инструментов выберите пункт Создать запрос.

  3. Вставьте следующий пример в окно запроса и нажмите кнопку Выполнить. В этом примере запрашиваются представления каталога объектов для сообщения об использовании дискового пространства на таблицу и в каждой таблице на единицу распределения.

    SELECT
      t.object_id,
      OBJECT_NAME(t.object_id) ObjectName,
      sum(u.total_pages) * 8 Total_Reserved_kb,
      sum(u.used_pages) * 8 Used_Space_kb,
      u.type_desc,
      max(p.rows) RowsCount
    FROM
      sys.allocation_units u
      JOIN sys.partitions p on u.container_id = p.hobt_id
    
      JOIN sys.tables t on p.object_id = t.object_id
    
    GROUP BY
      t.object_id,
      OBJECT_NAME(t.object_id),
      u.type_desc
    ORDER BY
      Used_Space_kb desc,
      ObjectName;
    
    

Отображение данных и сведений о пространстве журнала для базы данных путем запроса к представлению каталога sys.database_files

  1. Соединитесь с ядром СУБД .

  2. На стандартной панели инструментов выберите пункт Создать запрос.

  3. Вставьте приведенный ниже пример в окно запроса и нажмите кнопку Выполнить. В этом примере выполняется запрос к представлению каталога sys.database_files , который возвращает определенные сведения о файлах данных и журнала из базы данных AdventureWorks2022 .

    USE AdventureWorks2022;  
    GO  
    SELECT file_id, name, type_desc, physical_name, size, max_size  
    FROM sys.database_files;  
    
    GO  
    
    

См. также

SELECT (Transact-SQL)
sys.database_files (Transact-SQL)
sp_spaceused (Transact-SQL)
Добавление файлов данных или журналов в базу данных
Удаление файлов данных или журнала из базы данных