ALTER SERVER CONFIGURATION(Transact-SQL)

SQL Server 2012의 현재 서버에 대한 전역 구성 설정을 수정합니다.

항목 링크 아이콘 Transact-SQL 구문 표기 규칙

구문

ALTER SERVER CONFIGURATION
SET <optionspec> 

<optionspec> ::=
{
     <process_affinity>
   | <diagnostic_log>
   | <failover_cluster_property>
   | <hadr_cluster_context>
}

<process_affinity> ::= 
   PROCESS AFFINITY 
   {
     CPU = { AUTO | <CPU_range_spec> } 
   | NUMANODE = <NUMA_node_range_spec> 
   }
   <CPU_range_spec> ::= 
      { CPU_ID | CPU_ID  TO CPU_ID } [ ,...n ] 

   <NUMA_node_range_spec> ::= 
      { NUMA_node_ID | NUMA_node_ID TO NUMA_node_ID } [ ,...n ]

<diagnostic_log> ::= 
   DIAGNOSTICS LOG 
   { 
     ON  
   | OFF  
   | PATH = { 'os_file_path' | DEFAULT }  
   | MAX_SIZE = { 'log_max_size' MB | DEFAULT }  
   | MAX_FILES = { 'max_file_count' | DEFAULT }  
   }

<failover_cluster_property> ::= 
   FAILOVER CLUSTER PROPERTY <resource_property>
   <resource_property> ::=
      {
        VerboseLogging = { 'logging_detail' | DEFAULT }  
      | SqlDumperDumpFlags = { 'dump_file_type' | DEFAULT }
      | SqlDumperDumpPath = { 'os_file_path'| DEFAULT }
      | SqlDumperDumpTimeOut = { 'dump_time-out' | DEFAULT }
      | FailureConditionLevel = { 'failure_condition_level' | DEFAULT }
      | HealthCheckTimeout = { 'health_check_time-out' | DEFAULT }
      }

<hadr_cluster_context> ::=
   HADR CLUSTER CONTEXT = { 'remote_windows_cluster' | LOCAL }

인수

<process_affinity> ::=

  • PROCESS AFFINITY
    CPU와 연결할 하드웨어 스레드를 사용하도록 설정합니다.

  • CPU = { AUTO | <CPU_range_spec> }
    지정된 범위의 각 CPU에 SQL Server 작업자 스레드를 분산시킵니다. 지정된 범위 밖의 CPU에는 스레드가 할당되지 않습니다.

    • AUTO
      CPU에 스레드가 할당되지 않도록 지정합니다. 운영 체제에서 서버 작업에 따라 CPU 간에 스레드를 자유롭게 이동할 수 있습니다. 이 값은 기본값이며 권장 설정입니다.

    • <CPU_range_spec> ::=
      스레드를 할당할 CPU 또는 CPU 범위를 지정합니다.

    • { CPU_ID | CPU_ID TO CPU_ID } [ ,...n ]
      하나 이상의 CPU를 포함하는 목록입니다. CPU ID는 0부터 시작하는 integer 값입니다.
  • NUMANODE = <NUMA_node_range_spec>
    지정된 NUMA 노드 또는 노드 범위에 속하는 모든 CPU에 스레드를 할당합니다.

    • <NUMA_node_range_spec> ::=
      NUMA 노드 또는 NUMA 노드의 범위를 지정합니다.

    • { NUMA_node_ID | NUMA_node_ID TO NUMA_node_ID } [ ,...n ]
      하나 이상의 NUMA 노드를 포함하는 목록입니다. NUMA 노드 ID는 0부터 시작하는 integer 값입니다.

<diagnostic_log> ::=

  • DIAGNOSTICS LOG
    sp_server_diagnostics 프로시저에서 캡처하는 진단 데이터 로깅을 시작 또는 중지하고, 로그 파일 롤오버 수, 로그 파일 크기 및 파일 위치 등의 SQLDIAG 로그 구성 매개 변수를 설정합니다. 자세한 내용은 장애 조치(failover) 클러스터 인스턴스 진단 로그 보기 및 읽기를 참조하세요.

  • ON
    PATH 파일 옵션에 지정된 위치에서 SQL Server 진단 데이터 로깅을 시작합니다. 이것이 기본값입니다.

  • OFF
    진단 데이터 로깅을 중지합니다.

  • PATH = { 'os_file_path' | DEFAULT }
    진단 로그의 위치를 나타내는 경로입니다. 기본 위치는 SQL Server 장애 조치(failover) 클러스터 인스턴스의 설치 폴더 내에 있는 <\MSSQL\Log>입니다.

  • MAX_SIZE = { 'log_max_size' MB | DEFAULT }
    각 진단 로그가 증가할 수 있는 최대 크기(MB)입니다. 기본값은 100 MB입니다.

  • MAX_FILES = { 'max_file_count' | DEFAULT }
    새 진단 로그에 재활용하기 전에 컴퓨터에 저장할 수 있는 최대 진단 로그 파일 수입니다.

<failover_cluster_property> ::=

  • FAILOVER CLUSTER PROPERTY
    SQL Server 리소스의 개인 장애 조치(failover) 클러스터 속성을 수정합니다.

  • VERBOSE LOGGING = { 'logging_detail' | DEFAULT }
    SQL Server 장애 조치(failover) 클러스터링에 대한 로깅 수준을 설정합니다. 이 속성을 설정하여 오류 로그에 문제 해결을 위한 자세한 정보를 추가할 수 있습니다.

    • 0 - 로깅이 해제됩니다(기본값).

    • 1 - 오류만 로깅됩니다.

    • 2 - 오류 및 경고가 로깅됩니다.

  • SQLDUMPEREDUMPFLAGS
    SQL Server SQLDumper 유틸리티에서 생성되는 덤프 파일의 형식을 결정합니다. 기본 설정은 0입니다. 자세한 내용은 SQL Server Dumper 유틸리티 기술 자료 문서를 참조하세요.

  • SQLDUMPERDUMPPATH = { 'os_file_path' | DEFAULT }
    SQLDumper 유틸리티에서 덤프 파일을 저장하는 위치입니다. 자세한 내용은 SQL Server Dumper 유틸리티 기술 자료 문서를 참조하십시오.

  • SQLDUMPERDUMPTIMEOUT = { 'dump_time-out' | DEFAULT }
    SQL Server 오류 시 SQLDumper 유틸리티에서 덤프를 생성하기 위한 제한 시간 값(밀리초)입니다. 기본값은 0이며 이는 덤프를 완료하는 데 시간 제한이 없음을 의미합니다. 자세한 내용은 SQL Server Dumper 유틸리티 기술 자료 문서를 참조하십시오.

  • FAILURECONDITIONLEVEL = { 'failure_condition_level' | DEFAULT }
    SQL Server 장애 조치(failover) 클러스터 인스턴스가 장애 조치(failover)되거나 다시 시작되는 조건입니다. 기본값은 3이며, 이는 치명적인 서버 오류 시 SQL Server 리소스가 장애 조치(failover)되거나 다시 시작됨을 의미합니다. 이 장애 조치(failover) 조건 수준과 다른 장애 조치(failover) 조건 수준에 대한 자세한 내용은 FailureConditionLevel 속성 설정 구성을 참조하십시오.

  • HEALTHCHECKTIMEOUT = { 'health_check_time-out' | DEFAULT }
    SQL Server 데이터베이스 엔진 리소스 DLL이 SQL Server 인스턴스가 응답하지 않는 것으로 간주하기 전에 서버 상태 정보를 기다려야 하는 제한 시간 값입니다. 제한 시간 값은 밀리초로 표시됩니다. 기본값은 60,000밀리초(60초)입니다.

<hadr_cluster_context> ::=

  • HADR CLUSTER CONTEXT = { 'remote_windows_cluster' | LOCAL }
    서버 인스턴스의 HADR 클러스터 컨텍스트를 지정된 WSFC(Windows Server 장애 조치(Failover) 클러스터링) 클러스터로 전환합니다. HADR 클러스터 컨텍스트는 서버 인스턴스에서 호스팅하는 가용성 복제본에 대한 메타데이터를 관리하는 WSFC(Windows Server 장애 조치(Failover) 클러스터링) 클러스터를 결정합니다. 새 WSFC 클러스터에서 SQL Server 2012 SP1 인스턴스로의 클러스터 간 AlwaysOn 가용성 그룹 마이그레이션을 수행하는 동안에만 SET HADR CLUSTER CONTEXT 옵션을 사용합니다.

    HADR 클러스터 컨텍스트는 로컬 WSFC 클러스터에서 원격 클러스터로 전환한 다음 다시 원격 클러스터에서 로컬 클러스터로만 전환할 수 있습니다. HADR 클러스터 컨텍스트는 SQL Server 인스턴스에서 가용성 복제본을 호스팅하지 않을 때만 원격 클러스터로 전환할 수 있습니다.

    원격 HADR 클러스터 컨텍스트는 언제든지 로컬 클러스터로 다시 전환할 수 있습니다. 그러나 서버 인스턴스에서 가용성 복제본을 호스팅하는 동안에는 컨텍스트를 다시 전환할 수 없습니다.

    대상 클러스터를 식별하려면 다음 값 중 하나를 지정합니다.

    • windows_cluster
      WSFC 클러스터의 CON(클러스터 개체 이름) 짧은 이름 또는 전체 도메인 이름을 지정할 수 있습니다. 짧은 이름의 대상 IP 주소를 찾기 위해 ALTER SERVER CONFIGURATION은 DNS 확인을 사용합니다. 경우에 따라 짧은 이름을 사용하면 혼동이 생길 수 있고 DNS에서 잘못된 IP 주소를 반환할 수 있습니다. 따라서 전체 도메인 이름을 지정하는 것이 좋습니다.

    • LOCAL
      로컬 WSFC 클러스터입니다.

    자세한 내용은 서버 인스턴스의 HADR 클러스터 컨텍스트 변경(SQL Server)를 참조하세요.

일반적인 주의

이 문을 사용한 경우 SQL Server를 다시 시작할 필요가 없습니다. SQL Server 장애 조치(failover) 클러스터 인스턴스의 경우 SQL Server 클러스터 리소스를 다시 시작할 필요가 없습니다.

제한 사항

이 문은 DDL 트리거를 지원하지 않습니다.

사용 권한

프로세스 선호도에 대해 ALTER SETTINGS 권한이 필요하고, 진단 로그 및 장애 조치(failover) 클러스터 속성 옵션에 대해 ALTER SETTINGS 및 VIEW SERVER STATE 권한이 필요하며, HADR 클러스터 컨텍스트 옵션에 대해 CONTROL SERVER 권한이 필요합니다.

SQL Server 데이터베이스 엔진 리소스 DLL은 로컬 시스템 계정으로 실행됩니다. 따라서 로컬 시스템 계정에는 진단 로그 옵션의 지정된 경로에 대한 읽기 및 쓰기 권한이 있어야 합니다.

범주

중요한 구문 요소

프로세스 선호도 설정

CPU • NUMANODE • AUTO

진단 로그 옵션 설정

ON • OFF • PATH • MAX_SIZE

장애 조치(failover) 클러스터 속성 설정

HealthCheckTimeout

가용성 복제본의 클러스터 컨텍스트 변경

'windows_cluster'

프로세스 선호도 설정

이 섹션의 예에서는 CPU 및 NUMA 노드에 대한 프로세스 선호도를 설정하는 방법을 보여 줍니다. 이 예에서는 서버에 각각 16 NUMA 노드를 가진 4개 그룹으로 정렬된 256개의 CPU가 포함되어 있다고 가정합니다. 모든 NUMA 노드 또는 CPU에 스레드를 할당하지 않습니다.

  • 그룹 0: 0~3개의 NUMA 노드, 0~63개의 CPU

  • 그룹 1: 4~7개의 NUMA 노드, 64~127개의 CPU

  • 그룹 2: 8~12개의 NUMA 노드, 128~191개의 CPU

  • 그룹 3: 13~16개의 NUMA 노드, 192~255개의 CPU

1. 그룹 0 및 2의 모든 CPU에 선호도 설정

다음 예에서는 그룹 0 및 2의 모든 CPU에 선호도를 설정합니다.

ALTER SERVER CONFIGURATION 
SET PROCESS AFFINITY CPU=0 TO 63, 128 TO 191;

2. NUMA 노드 0 및 7의 모든 CPU에 선호도 설정

다음 예에서는 노드 0 및 7에만 CPU 선호도를 설정합니다.

ALTER SERVER CONFIGURATION 
SET PROCESS AFFINITY NUMANODE=0, 7;

3. CPU 60에서 200까지 선호도 설정

다음 예에서는 CPU 60에서 200까지 선호도를 설정합니다.

ALTER SERVER CONFIGURATION 
SET PROCESS AFFINITY CPU=60 TO 200;

4. 두 개의 CPU가 있는 시스템에서 CPU 0에 선호도 설정

다음 예에서는 두 개의 CPU가 있는 컴퓨터에서 CPU=0에 선호도를 설정합니다. 다음 문이 실행되기 전의 내부 선호도 비트 마스크는 00입니다.

ALTER SERVER CONFIGURATION SET PROCESS AFFINITY CPU=0;

5. 선호도를 AUTO로 설정

다음 예에서는 선호도를 AUTO로 설정합니다.

ALTER SERVER CONFIGURATION
SET PROCESS AFFINITY CPU=AUTO;

진단 로그 옵션 설정

이 섹션의 예에서는 진단 로그 옵션 값을 설정하는 방법을 보여 줍니다.

1. 진단 로깅 시작

다음 예에서는 진단 데이터의 로깅을 시작합니다.

ALTER SERVER CONFIGURATION SET DIAGNOSTICS LOG ON;

2. 진단 로깅 중지

다음 예에서는 진단 데이터의 로깅을 중지합니다.

ALTER SERVER CONFIGURATION SET DIAGNOSTICS LOG OFF;

3. 진단 로그의 위치 지정

다음 예에서는 진단 로그의 위치를 지정된 파일 경로로 설정합니다.

ALTER SERVER CONFIGURATION
SET DIAGNOSTICS LOG PATH = 'C:\logs';

4. 각 진단 로그의 최대 크기 지정

다음 예에서는 각 진단 로그의 최대 크기를 10MB로 설정합니다.

ALTER SERVER CONFIGURATION 
SET DIAGNOSTICS LOG MAX_SIZE = 10 MB;

장애 조치(failover) 클러스터 속성 설정

다음 예에서는 SQL Server 장애 조치(failover) 클러스터 리소스의 속성 값을 설정하는 방법을 보여 줍니다.

1. HealthCheckTimeout 속성 값 지정

다음 예에서는 HealthCheckTimeout 옵션을 15,000밀리초(15초)로 설정합니다.

ALTER SERVER CONFIGURATION 
SET FAILOVER CLUSTER PROPERTY HealthCheckTimeout = 15000;

가용성 복제본의 클러스터 컨텍스트 변경

다음 예에서는 SQL Server 인스턴스의 HARD 클러스터 컨텍스트를 변경합니다. 이 예에서는 대상 WSFC 클러스터 clus01을 지정하기 위해 전체 클러스터 개체 이름 clus01.xyz.com을 지정합니다.

ALTER SERVER CONFIGURATION SET HADR CLUSTER CONTEXT = 'clus01.xyz.com';

참고 항목

태스크

소프트 NUMA를 사용하도록 SQL Server 구성(SQL Server)

참조

sys.dm_os_schedulers(Transact-SQL)

sys.dm_os_memory_nodes(Transact-SQL)

개념

서버 인스턴스의 HADR 클러스터 컨텍스트 변경(SQL Server)