Поделиться через


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

Применимо к:SQL ServerБаза данных Azure SQLУправляемый экземпляр Azure SQLАналитическая служба Azure SynapseПлатформа аналитики (PDW)SQL база данных в Microsoft Fabric

В этой статье описывается отображение данных и сведений о пространстве журнала для базы данных в 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