다음을 통해 공유


데이터베이스의 데이터 및 로그 공간 정보 표시

적용 대상: SQL Server Azure SQL 데이터베이스 Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System(PDW)

이 문서에서는 SQL Server Management Studio 또는 Transact-SQL을 사용하여 SQL Server의 데이터베이스에 대한 데이터 및 로그 공간 정보를 표시하는 방법에 대해 설명합니다.

시작하기 전에

sp_spaceused를 실행할 수 있는 권한은 공용 역할에 부여됩니다. db_owner 고정 데이터베이스 역할의 멤버만 @updateusage 매개 변수를 지정할 수 있습니다.

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