적용 대상:SQL Server
Azure SQL 데이터베이스
Azure SQL Managed Instance
모든 데이터베이스의 트랜잭션 로그 공간 사용량 통계를 제공합니다. 또한 대기 및 래치 통계 재설정에도 사용할 수 있습니다.
구문
DBCC SQLPERF
(
[ LOGSPACE ]
| [ "sys.dm_os_latch_stats" , CLEAR ]
| [ "sys.dm_os_wait_stats" , CLEAR ]
)
[ WITH NO_INFOMSGS ]
인수
LOGSPACE
트랜잭션 로그의 현재 크기와 각 데이터베이스의 로그 공간 사용 비율을 반환합니다. 이 정보를 사용하여 트랜잭션 로그에 사용된 공간을 모니터링합니다.
중요
SQL Server 2012 (11.x)부터 트랜잭션 로그의 공간 사용 정보에 대한 자세한 내용은 이 문서의 비고(Remark ) 섹션을 참조하세요.
"sys.dm_os_latch_stats", 이상 없음
래치 통계를 다시 설정합니다. 자세한 내용은 sys.dm_os_latch_stats를 참조하세요.
"sys.dm_os_wait_stats", 비
대기 통계를 다시 설정합니다. 자세한 내용은 sys.dm_os_wait_stats 참조하세요.
NO_INFOMSGS 포함
심각도가 0에서 10 사이인 모든 정보 메시지를 표시하지 않습니다.
결과 집합
다음 표에서는 결과 집합의 열을 설명합니다.
| 열 이름 | 정의 |
|---|---|
| 데이터베이스 이름 | 로그 통계가 표시될 데이터베이스의 이름입니다. |
| 로그 크기 (MB) | 로그에 할당된 현재 크기입니다. 데이터베이스 엔진은 내부 헤더 정보용으로 적은 양의 디스크 공간을 예약하므로 이 값은 원래 로그 공간을 위해 할당된 크기보다 작습니다. |
| 사용된 로그 공간 (%) | 현재 트랜잭션 로그 정보를 저장하는 데 사용 중인 로그 파일의 비율입니다. |
| 상태 | 로그 파일의 상태이며 항상 0입니다. |
설명
SQL Server 2012(11.x)부터 시작하여 대신에 DBCC SQLPERF(LOGSPACE) DMV를 사용하여 데이터베이스 당 트랜잭션 로그의 공간 사용 정보를 반환합니다.
트랜잭션 로그는 데이터베이스에서 수행된 각 트랜잭션을 기록합니다. 자세한 내용은 트랜잭션 로그 및 SQL Server 트랜잭션 로그 아키텍처 및 관리 가이드를 참조하세요.
사용 권한
SQL Server는 실행 DBCC SQLPERF(LOGSPACE)시 서버에 대한 권한이 필요합니다VIEW SERVER STATE. 대기 및 래치 통계를 다시 설정하려면 서버에 대한 ALTER SERVER STATE 권한이 필요합니다.
SQL Database Premium과 Business Critical 계층은 데이터베이스 내 권한이 필요합니다 VIEW DATABASE STATE . SQL Database 표준, 기본 및 범용 계층에서는 SQL Database 관리자 계정이 필요합니다.
예제
A. 모든 데이터베이스에 대한 로그 공간 정보 표시
다음 예에서는 LOGSPACE 인스턴스에 포함된 모든 데이터베이스에 대한 SQL Server 정보를 표시합니다.
DBCC SQLPERF (LOGSPACE);
GO
결과 집합은 다음과 같습니다.
Database Name Log Size (MB) Log Space Used (%) Status
------------- ------------- ------------------ -----------
master 3.99219 14.3469 0
tempdb 1.99219 1.64216 0
model 1.0 12.7953 0
msdb 3.99219 17.0132 0
AdventureWorks 19.554688 17.748701 0
B. 대기 통계 다시 설정
다음 예에서는 SQL Server 인스턴스의 대기 통계를 다시 설정합니다.
DBCC SQLPERF ("sys.dm_os_wait_stats", CLEAR);