다음을 통해 공유


DBCC DROPCLEANBUFFERS(Transact-SQL)

적용 대상: SQL Server Azure SQL DatabaseAzure SQL Managed InstanceAzure Synapse Analytics AnalyticsPlatform System(PDW)

버퍼 풀에서 빈 버퍼를 제거하고 columnstore 개체 풀에서 columnstore 개체를 모두 제거합니다.

Transact-SQL 구문 표기 규칙

Syntax

SQL Server, Azure SQL Database 및 Azure Synapse Analytics의 서버리스 SQL 풀 구문:

DBCC DROPCLEANBUFFERS [ WITH NO_INFOMSGS ]

Azure Synapse Analytics 및 분석 플랫폼 시스템(PDW) 구문:

DBCC DROPCLEANBUFFERS ( COMPUTE | ALL ) [ WITH NO_INFOMSGS ]

참고

SQL Server 2014 이전 버전의 Transact-SQL 구문을 보려면 이전 버전 설명서를 참조하세요.

인수

WITH NO_INFOMSGS

모든 정보 메시지를 표시하지 않습니다. 정보 메시지는 항상 Azure Synapse Analytics 및 분석 플랫폼 시스템(PDW)에서 무시됩니다.

COMPUTE

각 컴퓨팅 노드에서 메모리 내 데이터 캐시를 제거합니다.

ALL

각 컴퓨팅 노드 및 제어 노드에서 메모리 내 데이터 캐시를 제거합니다. 값을 지정하지 않으면 이 설정이 기본값입니다.

설명

DBCC DROPCLEANBUFFERS를 사용하면 서버를 종료하고 다시 시작하지 않아도 완전히 빈 버퍼 캐시를 사용하여 쿼리를 테스트할 수 있습니다. 버퍼 풀에서 빈 버퍼를 삭제하고 columnstore 개체 풀에서 columnstore 개체를 삭제하려면 먼저 CHECKPOINT를 사용해 콜드 버퍼 캐시를 생성합니다. CHECKPOINT는 현재 데이터베이스에 대한 모든 더티 페이지를 디스크에 기록하고 버퍼를 비웁니다. 데이터베이스에 검사점을 사용한 후에 DBCC DROPCLEANBUFFERS 명령을 실행해 버퍼 풀에서 모든 버퍼를 제거할 수 있습니다.

Azure SQL Database에서 DBCC DROPCLEANBUFFERS는 현재 데이터베이스 또는 탄력적 풀을 호스트하는 데이터베이스 엔진 인스턴스에서 작동합니다. 사용자 데이터베이스에서 DBCC DROPCLEANBUFFERS을 실행하면 해당 데이터베이스에 대한 클린 버퍼가 삭제됩니다. 데이터베이스가 탄력적 풀에 있는 경우 해당 탄력적 풀의 다른 모든 데이터베이스에서도 클린 버퍼를 삭제합니다. master 데이터베이스에서 명령을 실행해도 동일한 논리 서버의 다른 데이터베이스에는 영향을 주지 않습니다. 기본, S0 또는 S1 서비스 목표를 사용하여 데이터베이스에서 이 명령을 실행하면 동일한 논리 서버에서 이러한 서비스 목표를 사용하여 다른 데이터베이스에서 클린 버퍼를 삭제할 수 있습니다.

결과 집합

SQL Server의 DBCC DROPCLEANBUFFERS은 다음을 반환합니다.

DBCC execution completed. If DBCC printed error messages, contact your system administrator.

사용 권한

적용 대상: SQL Server, 분석 플랫폼 시스템(PDW)

  • 서버에 대한 sysadmin 권한이 필요합니다.

적용 대상: SQL Server 2022 이상

  • 서버에 대한 ALTER SERVER STATE 권한이 필요합니다.

적용 대상: Azure SQL Database

  • 서버 역할 ##MS_ServerStateManager##의 멤버 자격이 필요합니다.

적용 대상: Azure Synapse Analytics

  • db_owner 고정 데이터베이스 역할의 멤버 자격이 필요합니다.

추가 정보