max degree of parallelism 옵션

SQL Server는 마이크로프로세서나 CPU가 둘 이상인 컴퓨터에서 실행될 경우 최적 병렬 처리 수준, 즉 각 병렬 계획 실행에 대해 단일 문을 실행하는 데 사용된 프로세서 수를 검색합니다. max degree of parallelism 옵션을 사용하여 병렬 계획 실행에 사용되도록 프로세서 수를 제한할 수 있습니다. 서버에서 최대 병렬 처리 수준을 결정할 수 있도록 하려면 이 옵션을 기본값인 0으로 설정합니다. 최대 병렬 처리 수준을 0으로 설정하면 SQL Server에서는 최대 64개의 프로세서까지 모두 사용할 수 있습니다. 병렬 계획을 생성하지 않으려면 max degree of parallelism을 1로 설정합니다. 단일 쿼리 실행에서 사용하는 프로세서의 최대 개수를 제한하려면 값을 1보다 큰 값으로 설정합니다. 병렬 처리 수준 설정의 최대값은 SQL Server 버전, CPU 종류 및 운영 체제에 따라 달라집니다. 사용 가능한 프로세서 수보다 큰 수를 지정하면 사용 가능한 실제 프로세서 수가 사용됩니다. 컴퓨터에 프로세서가 하나만 있는 경우 max degree of parallelism 값이 무시됩니다.

SQL Server 버전

1

SQL Server Express

2

SQL Server Workgroup

4

SQL Server 2008 Web

4

SQL Server 2008 Standard

32

x86 운영 체제에서 실행 중인 SQL Server 2008 Enterprise

max degree of parallelism 값 재정의

SQL Server는 쿼리에 대한 병렬 실행 계획, 인덱스 DDL(데이터 정의 언어) 작업 및 정적 커서와 키 집합 커서 채우기를 고려합니다. 병렬 실행에 대한 자세한 내용은 병렬 처리 수준을 참조하십시오.

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

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

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

[!참고]

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

max degree of parallelism 옵션 설정

max degree of parallelism 옵션은 고급 옵션입니다. sp_configure 시스템 저장 프로시저를 사용하여 설정을 변경하면 show advanced options를 1로 설정할 때만 max degree of parallelism을 변경할 수 있습니다. 이 설정은 MSSQLSERVER 서비스를 다시 시작하지 않아도 즉시 적용됩니다.

다음 예에서는 max degree of parallelism 옵션을 8로 설정합니다.

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

SQL Server Management Studio에 max degree of parallelism 값을 설정하는 방법은 방법: 병렬 쿼리에 사용 가능한 프로세서 수 구성(SQL Server Management Studio)을 참조하십시오.