데이터베이스의 데이터 및 로그 공간 정보 표시
적용 대상: 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 사용
데이터베이스의 데이터 및 로그 공간 정보 표시
개체 탐색기에서 SQL Server의 인스턴스에 연결한 다음 해당 인스턴스를 확장합니다.
데이터베이스를 확장합니다.
데이터베이스를 마우스 오른쪽 단추로 클릭하고, 보고서와 표준 보고서를 가리킨 후 디스크 사용량을 클릭합니다.
Transact-SQL 사용
sp_spaceused를 사용하여 데이터베이스의 데이터 및 로그 공간 정보 표시
데이터베이스 엔진에 연결합니다.
표준 도구 모음에서 새 쿼리를 선택합니다.
다음 예시를 쿼리 창에 붙여넣고 실행을 선택합니다. 이 예제에서는 sp_spaceused 시스템 저장 프로시저를 사용하여 테이블 및 인덱스를 포함한 전체 데이터베이스에 대한 디스크 공간 정보를 보고합니다.
USE AdventureWorks2022; GO EXEC sp_spaceused; GO
데이터베이스에 대해 개체 및 할당 단위별로 사용되는 데이터 공간 표시
데이터베이스 엔진에 연결합니다.
표준 도구 모음에서 새 쿼리를 선택합니다.
다음 예시를 쿼리 창에 붙여넣고 실행을 선택합니다. 이 예에서는 개체 카탈로그 뷰를 쿼리하여 테이블당 디스크 공간 사용량 및 할당 단위당 각 테이블 내 디스크 공간 사용량을 보고합니다.
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를 쿼리하여 데이터베이스에 대한 데이터 및 로그 공간 정보 표시
데이터베이스 엔진에 연결합니다.
표준 도구 모음에서 새 쿼리를 선택합니다.
다음 예시를 쿼리 창에 붙여넣고 실행을 선택합니다. 이 예제에서는 sys.database_files 카탈로그 뷰를 쿼리하여
AdventureWorks2022
데이터베이스의 데이터 및 로그 파일에 대한 특정 정보를 반환합니다.USE AdventureWorks2022; GO SELECT file_id, name, type_desc, physical_name, size, max_size FROM sys.database_files; GO