DetailPage-MSS-KB

기술 자료

기술 자료: 2806535 - 마지막 검토: 2015년 5월 2일 토요일 - 수정: 3.0

 

이 페이지에서

요약

Microsoft SQL Server 최대 병렬 처리 수준 (MAXDOP) 구성 옵션은 병렬 계획에서 쿼리 실행에 사용 되는 프로세서의 수를 제어 합니다. 이 이렇게 작업을 병렬로 수행 하는 쿼리 계획 연산자에 사용 되는 컴퓨팅 및 스레드 리소스를 결정 합니다. SQL Server 설정 되어 있는지 여부는 대칭적 다중 프로세싱 (SMP) 컴퓨터, 비 균일 메모리 액세스 (NUMA) 컴퓨터 또는 하이퍼스레딩을 사용 하는 프로세서에 따라 최대 병렬 처리 수준 옵션을 적절 하 게 구성 해야 합니다. Sp_configure 시스템 저장 프로시저를 사용 하면 SQL Server 대 한 최대 병렬 처리 수준 옵션을 구성 하는 데 사용할 수 있는 일반적인 지침에 설명 합니다.

Transact SQL 쿼리 참고 옵션 (MAXDOP) 쿼리가이 옵션을 지정 하는 경우의 최대 병렬 처리 수준옵션을sp_configure 값을 재정의할 수 있습니다. SQL Server 2000에서는 재정의 힌트에 지정 된 값은 sp_configure 값 이하인 경우에 적용이 됩니다. 재정의 항상 SQL Server 2005 및 이후 버전에 적용 됩니다. SQL Server 2008 및 이후 버전에서는 MAXDOP 값은 리소스 관리자를 사용 하 여 구성 된 값을 초과 하는 경우 데이터베이스 엔진 리소스 관리자 MAXDOP 값을 사용 합니다. 최대 병렬 처리 수준옵션을 사용 하는 모든 의미 규칙을 MAXDOP 쿼리 힌트를 사용할 때 적용 됩니다. 재정의 또는 MAXDOP 설정에 영향을 미칠 수 있는 다른 두 가지 옵션은 다음과 같습니다.
  • 소프트 NUMA
  • 병렬 인덱스

추가 정보

참고:최대 병렬 처리 수준 구성 옵션은 SQL Server 사용 하는 프로세서의 수를 제한 하지 . SQL Server 사용 하는 프로세서의 수를 구성 하려면 선호도 마스크 구성 옵션을 사용 합니다.

MAXDOPvalue을 구성할 때 다음 지침을 따르십시오.

SQL Server 2005 및 이후 버전

표 축소표 확대
단일 NUMA 노드를 사용 하 여 서버8 논리 프로세서논리 프로세서 이하로 MAXDOP를 유지
단일 NUMA 노드를 사용 하 여 서버8 논리 프로세서 이상MAXDOP 8 유지
여러 NUMA 노드를 사용 하 여 서버NUMA 노드당 8 논리 프로세서NUMA 노드당 논리 프로세서 이하로 MAXDOP를 유지
여러 NUMA 노드를 사용 하 여 서버NUMA 노드당 8 논리 프로세서 이상MAXDOP 8 유지



참고
작업 그룹 리소스 관리자에 대 한 최대 병렬 처리 수준옵션을 설정 하면 동일한 지침을 사용 합니다.

또한 다음이 지침에 설명 되어 있는 8의 최대 값은 해당 일반 SQL Server 작업 및 병렬 쿼리 계획에 사용 되는 교환 연산자의 오버 헤드. 특정 응용 프로그램 패턴 및 SQL Server 인스턴스에 동시 작업에 따라이 최대 값을 변경할 수 있습니다. 예를 들어, 다음과 같은 경우를 고려해 야 합니다.
  • 매우 적은 수의 프로세서의 수와 비교 하는 동시에 실행 되는 쿼리가 있으면 MAXDOP 값 보다 큰 값으로 설정할 수 있습니다. 예를 들어, 16 MAXDOP 값을 설정할 수 있습니다.
  • 경우 하는 프로세서의 수와 비교 하는 동시에 실행 되는 쿼리 매우 많은 수를 MAXDOP 값 보다 작은 값으로 설정할 수 있습니다. 예를 들어, 4를 MAXDOP 값을 설정할 수 있습니다.
참고: 프로덕션 서버에서 해당 값을 구현 하기 전에 값을 사용 하 여 고려해 야 하는 특정 응용 프로그램 작업 또는 쿼리 패턴에 대해 철저 하 게 테스트 해야 합니다.

SQL Server 2000 및 이전 버전

SQL Server 직렬 계획을 사용할 경우 하나의 프로세서 에서만 사용 됩니다. 그러나 SQL Server 병렬 처리를 사용 하는 경우 (MAXDOP 쿼리 힌트 구성에 의해 결정)으로 구성 된 모든 프로세서가 병렬 계획 실행에 대해 사용 해야 합니다. 예를 들어 MAXDOP 사용 하는 경우 = 0는 32 방향 서버의 SQL Server 7 프로세서는 하나의 프로세서 에서만 사용 하는 직렬 계획에 비해 효율적으로 더 많은 작업을 수행할 수 있더라도 모든 32 개의 프로세서를 사용 하려고 합니다. 전체적이 동작으로 인해 병렬 계획을 사용 하 여 SQL Server 및 MAXDOP 쿼리 힌트 8의 최대 값으로 제한 되지 않으면 SQL Server 고성능 서버 프로세서를 모두 조정 하는 데 필요한 시간에 보다 병렬 계획을 사용 하는 이점은 큽니다.

MAXDOP 설정을 계획의 각 단계에 적용 됩니다. 각 단계의 CPU 또는 MAXDOP와 적의 사이 있는 것으로 지정 된 Cpu 수를 사용 합니다. 단계를 동시에 실행 쿼리에 의해 사용 되는 스레드 수가 MAXDOP 설정을 초과할 수 있습니다.

MAXDOP 정의 "최대 정도 병렬 처리 옵션" 항목이 나 SQL Server "병렬" 항목을 참조 하십시오.

병렬 처리의 작동 방식을 이해 하려면 SQL Server 온라인 설명서의 "쿼리 프로세서 아키텍처" 항목에서 "병렬 쿼리 처리" 절을 참조 하십시오.

AdditionalInformation

병렬 쿼리에 대 한 자세한 내용은 다음 Microsoft Developer Network (MSDN) 웹 사이트로 이동.
병렬 처리 수준 (http://msdn.microsoft.com/en-us/library/ms188611.aspx )
64 개 이상의 cpu가 있는 컴퓨터에서 SQL Server 인스턴스를 실행할 때 유용한 정보에 대 한 다음 SQL Server 온라인 설명서 항목을 참조.Microsoft 기술 자료의 다음 문서에서 권장에 따라 하이퍼스레딩을 사용 하는 프로세서에서 실행 되는 SQL Server 인스턴스를:
322385  (http://support.microsoft.com/kb/322385/ ) 하이퍼 스레드 환경에서 SQL Server 지원
참고: 이 권장 사항은 인텔 Nehalem 제품군에 있는 새로운 프로세서 칩에 적용할 수 있습니다.

SQL Server 사용 되는 프로세서 수 및 SQL Server 인식 되는 NUMA 노드 수에 대 한 내용은 동적 관리 뷰 sys.dm_os_sys_info 및 sys.dm_os_nodes를 사용 합니다. MAXDOP 설정 리소스 관리자를 사용 하 여 적용 하는 방법에 대 한 자세한 내용은 동적 관리 뷰 sys.dm_resource_governor_workload_groups 및 다음 게시에 SQL Server 지원 팀 블로그 정보 검토.

"최대 병렬" 서버의 설정, 리소스 관리자 MAX_DOP 및 MAXDOP를-1을 SQL Server 쿼리 힌트를 사용 하 여? (http://blogs.msdn.com/b/psssql/archive/2015/04/28/server-s-max-degree-of-parallelism-setting-resource-governor-s-max-dop-and-query-hint-maxdop-which-one-should-sql-server-use.aspx)

제품 또는 SQL Server 인스턴스 및 SQL Server 제품 버전에서이 문제를 자동으로 확인 하는 도구에 대 한 자세한 내용은 다음 표를 참조.
표 축소표 확대
규칙 소프트웨어규칙 제목규칙 설명평가된 규칙 기준 제품 버전
SQL Server 2008 R2 최상의 연습 분석기 (SQL Server 2008 R2 BPA)병렬 처리 수준은 권장된 값으로 설정 되지 않은SQL Server 2008 R2 최상의 연습 분석기 (SQL Server 2008 R2 BPA) 최대 병렬 처리 수준옵션에 대해 적절 한 값 NUMA 노드 및 리소스 관리자 작업 구성을 MAXDOP Cpu 개수와 함께 구성 되지 않은 이러한 조건을 검색 하는 규칙을 제공 합니다. SQL Server 2008 R2 BPA는 SQL Server 2008 및 SQL Server 2008 r 2를 모두 지원합니다.

BPA 도구를 실행 하 고 "데이터베이스 엔진에서 병렬 처리 수준을로 설정 되지 않은 값" 경고가 발생 하는 경우 "요약" 및 "추가 정보" 절에 지정 된 권장된 값을 사용 하 여 리소스 관리자 작업 부하 MAXDOP 값과최대 병렬 처리 수준옵션의 값을 비교 합니다.
SQL Server 2008, SQL Server 2008 R2
SQL Server 2012 최상의 연습 분석기 (SQL Server 2012 BPA)병렬 처리 수준은 권장된 값으로 설정 되지 않은SQL Server 2012 최상의 연습 분석기 (SQL Server 2012 BPA) 최대 병렬 처리 수준옵션에 적절 한 값은 NUMA 노드 및 리소스 관리자 작업 구성을 MAXDOP Cpu 개수와 함께 구성 되지 않은 이러한 조건을 검색 하는 규칙을 제공 합니다.

BPA 도구를 실행 하 고 "데이터베이스 엔진에서 병렬 처리 수준을로 설정 되지 않은 값" 경고가 발생 하는 경우 "요약" 및 "추가 정보" 절에 지정 된 권장된 값을 사용 하 여 리소스 관리자 작업 부하 MAXDOP 값과최대 병렬 처리 수준옵션의 값을 비교 합니다.
SQL Server 2012

본 문서의 정보는 다음의 제품에 적용됩니다.
  • Microsoft SQL Server 2012 Enterprise
  • Microsoft SQL Server 2012 Standard
  • Microsoft SQL Server 2012 Developer
  • Microsoft SQL Server 2012 Express
  • Microsoft SQL Server 2008 R2 Enterprise
  • Microsoft SQL Server 2008 R2 Standard
  • Microsoft SQL Server 2008 R2 Developer
  • Microsoft SQL Server 2008 R2 Datacenter
  • Microsoft SQL Server 2008 R2 Express
  • Microsoft SQL Server 2008 R2 Express with Advanced Services
  • Microsoft SQL Server 2008 Enterprise
  • Microsoft SQL Server 2008 Enterprise Evaluation
  • Microsoft SQL Server 2008 Developer
  • Microsoft SQL Server 2008 Express
  • Microsoft SQL Server 2008 Express with Advanced Services
  • Microsoft SQL Server 2005 Enterprise Edition
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL Server 2005 Express Edition
  • Microsoft SQL Server 2005 Express Edition with Advanced Services
  • Microsoft SQL Server 2000 Enterprise Edition
  • Microsoft SQL Server 2000 Enterprise Evaluation Edition
  • Microsoft SQL Server 2000 Standard Edition
  • Microsoft SQL Server 2000 Developer Edition
  • Microsoft SQL Server 2014 Business Intelligence
  • Microsoft SQL Server 2014 Developer
  • Microsoft SQL Server 2014 Enterprise
  • Microsoft SQL Server 2014 Enterprise Core
  • Microsoft SQL Server 2014 Express
  • Microsoft SQL Server 2014 Standard
  • Microsoft SQL Server 2014 Web
키워드: 
kbinfo kbmt KB2806535 KbMtko
기계 번역된 문서기계 번역된 문서
이 문서는 Microsoft 기계 번역 소프트웨어를 이용하여 번역되었으며 Microsoft Community에 의한 Community Translation Framework(CTF) 기술 혹은 사람이 번역한 내용에 의하여 사후 편집될 수 있습니다. Microsoft는 Knowledge Base에 있는 모든 문서에 다양한 언어로 접근할 수 있도록 하기 위하여 기계 번역, 사람에 의한 번역 및 커뮤니티가 편집한 내용을 모두 제공합니다. 번역된 문서는 어휘, 구문 및/혹은 문법에 오류가 있을 수 있습니다. Microsoft는 번역 오류로 인한 부정확성, 오류 및/또는 손해와 이를 고객이 사용하는 데에 대하여 책임을 지지 않습니다.
이 문서의 영문 버전 보기:2806535  (http://support.microsoft.com/kb/2806535/en-us/ )
공유
추가 지원 옵션
Microsoft Community 지원 포럼
직접 문의하기
Microsoft Certified Partner 찾기
Microsoft Store