SQL Server가 온라인이 아닌 경우 클러스터형 환경에서 SQL Server 매개 변수 변경

SQL Server 구성 관리자를 사용하여 클러스터형 환경에서 데이터베이스 엔진 매개 변수를 변경하는 경우 SQL Server 클러스터 리소스가 온라인 상태인 동안 액티브 노드를 변경해야 합니다. SQL Server가 온라인 상태가 아닌 경우 먼저 SQL Server를 온라인 상태로 만들어야 합니다. 그러나 SQL Server를 온라인 상태로 만들 수 없는 경우도 있습니다.

이 문서에서는 SQL Server가 온라인 상태가 아니거나 SQL Server를 온라인 상태로 만들 수 없는 경우 클러스터형 환경에서 SQL Server 매개 변수를 변경하는 방법에 대해 설명합니다.

SQL Server가 온라인 상태가 아닌 경우 클러스터형 환경에서 데이터베이스 엔진 매개 변수를 변경하려면 다음 방법 중 하나를 사용하십시오.

방법 1

먼저 이 방법을 사용해 봅니다.

주의 사항주의

이 섹션, 방법 또는 태스크에는 레지스트리를 수정하는 방법을 알려 주는 단계가 포함되어 있습니다. 그러나 레지스트리를 잘못 수정하면 심각한 문제가 발생할 수 있습니다. 따라서 이 단계를 신중하게 수행해야 합니다. 추가적인 보호를 위해 수정하기 전에 레지스트리를 백업합니다. 그런 다음 문제가 발생하면 레지스트리를 복원할 수 있습니다. 레지스트리를 백업하고 복원하는 방법에 대한 자세한 내용을 보려면 다음 문서 번호를 클릭하여 Microsoft 기술 자료 KB 322756: Windows에서 레지스트리를 백업하고 복원하는 방법의 문서를 참조하십시오.

  1. 시작 메뉴에서 실행을 클릭한 다음 regedit을 입력하고 확인을 클릭합니다.

  2. 쿼럼 디스크를 찾습니다. 이 작업을 위해서는 다음 레지스트리 키를 찾습니다. HKEY_LOCAL_MACHINE\Cluster\Quorum

    Path 항목에는 쿼럼 디스크의 경로가 포함되어 있습니다. 예를 들어 Path 항목에는 다음과 같은 경로가 포함되어 있습니다. <QuorumDrive>:\MSCS

  3. SQL Server 클러스터 리소스의 GUID를 찾습니다. 이 작업을 위해서는 다음 단계를 수행합니다.

    1. 다음 레지스트리 키를 찾습니다. HKEY_LOCAL_MACHINE\Cluster\Resources

    2. 레지스트리 항목의 Name 열을 확인합니다.

      [!참고]

      여러 레지스트리 항목의 항목 이름에 GUID가 포함되어 있습니다.

    3. 기본 인스턴스의 경우 Name 열에 SQL Server가 포함되어 있는 SQL Server 클러스터 리소스를 찾습니다. 명명된 인스턴스의 경우 Name 열에 "SQL Server**(<InstanceName>)**"가 포함되어 있는 SQL Server 클러스터 리소스를 찾습니다.

  4. 검사점 파일 이름을 찾습니다. 이 작업을 위해서는 다음 단계를 수행합니다.

    1. 다음 레지스트리 키를 찾습니다. HKEY_LOCAL_MACHINE\Cluster\Resources\{GUID}\RegSync

    2. 세부 정보 창에서 검사점 레지스트리 하이브 및 다음과 유사한 해당 숫자를 확인합니다.

      • 기본 인스턴스: 00000004 SOFTWARE\Microsoft\Microsoft SQL Server\MSSQLSERVER

      • 명명된 인스턴스: 00000004 SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL.X\MSSQLSERVER

        [!참고]

        명명된 인스턴스의 경우 X는 인스턴스 ID에 해당합니다.

    숫자는 검사점 파일 이름입니다. 이 예에서 검사점 파일 이름은 00000004.cpt입니다.

  5. 레지스트리 편집기에서 HKEY_LOCAL_MACHINE을 클릭합니다.

  6. 파일 메뉴에서 하이브 로드를 클릭합니다.

  7. <QuorumDrive>:\<GUID> 폴더에서, 4단계에서 찾은 검사점 파일을 찾습니다.

  8. 키 이름 상자에 1을 입력한 다음 확인을 클릭합니다.

  9. 다음 레지스트리 키를 찾아 잘못된 검사점 레지스트리 키 값을 수정합니다. HKEY_LOCAL_MACHINE\1\<YourRegistryKey>

    [!참고]

    다음 예에서는 MSSQLSERVER 검사점 레지스트리 키를 수정합니다.

    예 1: master.mdf 파일의 잘못된 경로를 수정하려면 다음 레지스트리 키를 찾습니다. HKEY_LOCAL_MACHINE\1\Parameters. SQLArg0 키를 수정합니다.

    예 2: 잘못 활성화된 VIA 프로토콜을 사용하지 않도록 설정하려면 다음 레지스트리 키를 찾습니다. HKEY_LOCAL_MACHINE\1\SuperSocketNetLib\Via. 사용 항목 값을 1에서 0으로 변경합니다.

  10. 레지스트리 키를 수정한 후 HKEY_LOCAL_MACHINE\1을 클릭하고 파일 메뉴를 클릭한 다음 하이브 언로드를 클릭합니다.

[!참고]

이러한 단계를 수행하면 이 검사점은 수정되고 장애 조치(failover) 중에 특정 노드로 자동 복제됩니다. SQL Server 인스턴스를 온라인 상태로 만들 수 있습니다.

방법 2

검사점 레지스트리 키는 관련된 리소스가 온라인 상태인 경우에만 저장됩니다. 리소스가 온라인 상태가 아니면 검사점 키에 대한 변경 내용은 검사점 파일에서 마지막으로 저장된 값으로 덮어씁니다. 자세한 내용은 KB 174070: Microsoft 클러스터 서버에서 레지스트리 복제를 참조하십시오.

중요 정보중요
  • 2단계와 4단계 사이에 SQL Server 클러스터 그룹 장애 조치(failover)를 수행하지 않습니다. 또한 이러한 단계 중 하나라도 완료하지 않으면 장애 조치(failover) 시 예기치 않은 동작이 발생할 수 있습니다.

  • 2단계와 4단계의 경우 MSSQL.x, MSQL10.x 및 MSSQL10_50.x는 SQL Server 인스턴스의 각 인스턴스 ID에 대한 자리 표시자입니다. 다음 레지스트리 하위 키의 MSSQLSERVER 레지스트리 항목 값에서 시스템에 대한 해당 값을 확인할 수 있습니다. HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\<InstanceName>\SQL\

  • 2단계 및 4단계의 경우 <InstanceName>은 SQL Server 인스턴스의 이름에 대한 자리 표시자입니다.

  1. 명령 프롬프트에서 다음 명령을 사용하여 검사점 키의 목록을 가져옵니다.

    cluster res /checkpoints
    
  2. 명령 프롬프트에서 다음 명령 중 하나를 실행하여 특정 레지스트리 하위 키의 클러스터 검사점을 사용하지 않도록 설정합니다.

    • SQL Server 2012 인스턴스의 경우 다음 명령을 실행합니다.

      cluster . resource "SQL Network Name (<InstanceName>)" /removecheckpoints:"Software\Microsoft\Microsoft SQL Server\MSSQL110.x\MSSQLSERVER"
      
    • SQL Server 2008 R2 인스턴스의 경우 다음 명령을 실행합니다.

      cluster . resource "SQL Network Name (<InstanceName>)" /removecheckpoints:"Software\Microsoft\Microsoft SQL Server\MSSQL10_50.x\MSSQLSERVER"
      
    • SQL Server 2008 인스턴스의 경우 다음 명령을 실행합니다.

      cluster . resource "SQL Network Name (<InstanceName>)" /removecheckpoints:"Software\Microsoft\Microsoft SQL Server\MSSQL10.x\MSSQLSERVER"
      
    • SQL Server 2005 인스턴스의 경우 다음 명령을 실행합니다.

      cluster res "SQL Server (<InstanceName>)" /removecheck: "Software\Microsoft\Microsoft SQL Server\MSSQL.x \MSSQLSERVER"
      
  3. 모든 노드에서 SQL Server의 클러스터형 인스턴스에 대한 매개 변수를 변경합니다.

  4. 명령 프롬프트에서 다음 명령 중 하나를 실행하여 특정 레지스트리 하위 키의 클러스터 검사점을 사용하도록 설정합니다.

    • SQL Server 2008 인스턴스의 경우 다음 명령을 실행합니다.

      cluster . resource "SQL Server (<InstanceName>)" /addcheckpoints:"HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft SQL Server\MSSQL.x\MSSQLSERVER"
      
    • SQL Server 2005 인스턴스의 경우 다음 명령을 실행합니다.

      cluster res "SQL Server (<InstanceName>)" /addcheck: "Software\Microsoft\Microsoft SQL Server\MSSQL.x\MSSQLSERVER"
      
  5. SQL Server 인스턴스를 온라인 상태로 만듭니다.

SQL Server 2008 서버에서 방법 2에 대한 출력 예

cluster res /checkpoints
No resource name specified.
Listing registry checkpoints for all resources …
Resource                            Registry Checkpoint
--------------------                --------------------------------------------------------

SQL Network Name (<Instance name>) 'SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL10.<INSTANCE NAME>\Cluster'

SQL Network Name (<INSTANCE NAME>) 'SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL10.<INSTANCE NAME>\MSSQLServer'

SQL Network Name (<INSTANCE NAME>) 'SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL10.<INSTANCE NAME>\Replication'

SQL Network Name (<INSTANCE NAME>) 'SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL10.<INSTANCE NAME>\Providers'

SQL Network Name (<INSTANCE NAME>) 'SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL10.<INSTANCE NAME>\SQLServerSCP'

SQL Network Name (<INSTANCE NAME>) 'SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL10.<INSTANCE NAME>\CPE'

SQL Network Name (<INSTANCE NAME>) 'SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL10.<INSTANCE NAME>\SQLServerAgent'

SQL IP Address 1 (<INSTANCE NAME>) None

SQL Server (<INSTANCE NAME>)       None

SQL Server Agent (<INSTANCE NAME>) None

C:\Windows\system32>cluster . resource "SQL Network Name (<INSTANCE NAME>)" /removecheckpoints:"Software\Microsoft\Microsoft SQL Server\MSSQL10.<INSTANCE NAME>\MSSQLSERVER" 

Removing registry checkpoint 'Software\Microsoft\Microsoft SQL Server\MSSQL10.EI

PRPTDB\MSSQLSERVER' for resource 'SQL Network Name (<INSTANCE NAME>)'...

참고 항목

개념

서버 시작 옵션 구성(SQL Server 구성 관리자)

관련 자료

KB 912397: SQL Server 2000 또는 SQL Server 2005의 클러스터형 인스턴스에 대한 시작 매개 변수를 유효하지 않은 값으로 변경하면 SQL Server 서비스를 시작할 수 없습니다.

KB 244980: SQL Server 장애 조치(failover) 클러스터 인스턴스의 네트워크 IP 주소를 변경하는 방법