max degree of parallelism 서버 구성 옵션 구성

이 항목은 다음에 적용됩니다.예SQL Server(2008부터)아니요Azure SQL Database아니요Azure SQL Data Warehouse 아니요병렬 데이터 웨어하우스 THIS TOPIC APPLIES TO:yesSQL Server (starting with 2008)noAzure SQL DatabasenoAzure SQL Data Warehouse noParallel Data Warehouse

이 항목에서는 SQL Server Management StudioSQL Server Management Studio 또는 Transact-SQLTransact-SQL을 사용하여 SQL Server 2017SQL Server 2017에서 MAXDOP(max degree of parallelism) 서버 구성 옵션을 구성하는 방법에 대해 설명합니다. SQL ServerSQL Server 인스턴스는 마이크로프로세서나 CPU가 둘 이상인 컴퓨터에서 실행될 경우 최적 병렬 처리 수준, 즉 각 병렬 계획 실행에 대해 단일 문을 실행하는 데 사용된 프로세서 수를 검색합니다. max degree of parallelism 옵션을 사용하여 병렬 계획 실행에 사용할 프로세서 수를 제한할 수 있습니다. SQL ServerSQL Server 는 쿼리에 대한 병렬 실행 계획, 인덱스 DDL(데이터 정의 언어) 작업, 병렬 삽입, 온라인 열 변경, 병렬 통계 수집 및 정적 커서와 키 집합 커서 채우기를 고려합니다.

시작하기 전에

제한 사항

  • affinity mask 옵션을 기본값으로 설정하지 않으면 SMP(대칭적 다중 처리) 시스템에서 SQL ServerSQL Server에 사용 가능한 프로세서 수가 제한될 수도 있습니다.

권장 사항

  • 이 옵션은 고급 옵션으로, 숙련된 데이터베이스 관리자나 공인된 SQL ServerSQL Server 기술 지원 담당자만 변경해야 합니다.

  • 서버에서 최대 병렬 처리 수준을 결정할 수 있도록 하려면 이 옵션을 기본값인 0으로 설정합니다. 최대 병렬 처리 수준을 0으로 설정하면 SQL ServerSQL Server 에서는 최대 64개의 프로세서까지 모두 사용할 수 있습니다. 병렬 계획이 생성되지 않게 하려면 max degree of parallelism 을 1로 설정합니다. 단일 쿼리 실행에서 사용할 수 있는 프로세서 코어의 최대 개수를 지정하려면 값을 1부터 32,767까지의 값 중 하나를 설정합니다. 사용 가능한 프로세서 수보다 더 큰 수를 지정하면 사용 가능한 실제 프로세서 수가 사용됩니다. 컴퓨터에 프로세서가 하나밖에 없으면 max degree of parallelism 값이 무시됩니다.

  • 쿼리 문에 MAXDOP 쿼리 힌트를 지정하면 쿼리의 max degree of parallelism 값을 재정의할 수 있습니다. 자세한 내용은 쿼리 힌트(Transact-SQL)를 참조하세요.

  • 인덱스를 만들거나 다시 작성하는 인덱스 작업 또는 클러스터형 인덱스를 삭제하는 인덱스 작업은 리소스가 많이 소모됩니다. 인덱스 문에 MAXDOP 인덱스 옵션을 지정하면 인덱스 작업의 max degree of parallelism 값을 재정의할 수 있습니다. MAXDOP 값은 실행 시 문에 적용되며 인덱스 메타데이터에 저장되지 않습니다. 자세한 내용은 병렬 인덱스 작업 구성을 참조하세요.

  • 쿼리 및 인덱스 작업과 함께 이 옵션은 DBCC CHECKTABLE, DBCC CHECKDB 및 DBCC CHECKFILEGROUP의 병렬 처리도 제어합니다. 추적 플래그 2528을 사용하여 이러한 문의 병렬 실행 계획을 비활성화할 수 있습니다. 자세한 내용은 추적 플래그(Transact-SQL)를 참조하세요.

보안

사용 권한

매개 변수 없이 또는 첫 번째 매개 변수만 사용하여 sp_configure를 실행할 수 있는 권한은 기본적으로 모든 사용자에게 부여됩니다. 구성 옵션을 변경하거나 RECONFIGURE 문을 실행하는 두 매개 변수를 사용하여 sp_configure를 실행하려면 사용자에게 ALTER SETTINGS 서버 수준 권한이 있어야 합니다. sysadminserveradmin 고정 서버 역할은 ALTER SETTINGS 권한을 암시적으로 보유하고 있습니다.

SQL Server Management Studio 사용

최대 병렬 처리 수준 옵션을 구성하려면

  1. 개체 탐색기에서 서버를 마우스 오른쪽 단추로 클릭하고 속성을 선택합니다.

  2. 고급 노드를 클릭합니다.

  3. 최대 병렬 처리 수준 상자에서 병렬 계획 실행에 사용할 프로세서의 최대 개수를 선택합니다.

Transact-SQL 사용

최대 병렬 처리 수준 옵션을 구성하려면

  1. 데이터베이스 엔진Database Engine에 연결합니다.

  2. 표준 도구 모음에서 새 쿼리를 클릭합니다.

  3. 다음 예를 복사하여 쿼리 창에 붙여 넣고 실행을 클릭합니다. 이 예제에서는 sp_configure를 사용하여 max degree of parallelism 옵션을 8으로 구성하는 방법을 보여 줍니다.

USE AdventureWorks2012 ;  
GO   
EXEC sp_configure 'show advanced options', 1;  
GO  
RECONFIGURE WITH OVERRIDE;  
GO  
EXEC sp_configure 'max degree of parallelism', 8;  
GO  
RECONFIGURE WITH OVERRIDE;  
GO  

자세한 내용은 서버 구성 옵션(SQL Server)을 참조하세요.

후속 작업: 최대 병렬 처리 수준 옵션을 구성한 후

이 설정은 서버를 다시 시작하지 않아도 즉시 적용됩니다.

참고 항목

affinity mask 서버 구성 옵션
RECONFIGURE(Transact-SQL)
서버 구성 옵션(SQL Server)
sp_configure (Transact-SQL)
CREATE INDEX(Transact-SQL)
ALTER INDEX(Transact-SQL)
ALTER TABLE(Transact-SQL)
DBCC CHECKTABLE(Transact-SQL)
DBCC CHECKDB(Transact-SQL)
DBCC CHECKFILEGROUP(Transact-SQL)
병렬 인덱스 작업 구성 쿼리 힌트(Transact-SQL)
인덱스 옵션 설정