ALTER SERVICE MASTER KEY(Transact-SQL)

SQL Server 인스턴스의 서비스 마스터 키를 변경합니다.

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

구문

ALTER SERVICE MASTER KEY 
    [ { <regenerate_option> | <recover_option> } ]
    |
    [ { ADD | DROP } ENCRYPTION BY MACHINE KEY ]

<regenerate_option> ::=
    [ FORCE ] REGENERATE

<recover_option> ::=
    { WITH OLD_ACCOUNT = 'account_name' , OLD_PASSWORD = 'password' }
    |    
    { WITH NEW_ACCOUNT = 'account_name' , NEW_PASSWORD = 'password' }

인수

  • FORCE
    데이터를 손실할 위험이 있는 경우에도 서비스 마스터 키를 다시 생성하도록 지정합니다. 자세한 내용은 이 항목 아래에서 SQL Server 서비스 계정 변경을 참조하십시오.
  • REGENERATE
    서비스 마스터 키를 다시 생성하도록 지정합니다.
  • OLD_ACCOUNT ='account_name'
    이전 Windows 서비스 계정 이름을 지정합니다.
  • OLD_PASSWORD ='password'
    이전 Windows 서비스 계정의 암호를 지정합니다.
  • NEW_ACCOUNT ='account_name'
    새 Windows 서비스 계정 이름을 지정합니다.
  • NEW_PASSWORD ='password'
    새 Windows 서비스 계정의 암호를 지정합니다.

주의

서비스 마스터 키는 연결된 서버 암호, 인증서 또는 데이터베이스 마스터 키를 처음으로 암호화할 필요가 있을 때 자동으로 생성됩니다. 서비스 마스터 키는 로컬 시스템 키 또는 Windows 데이터 보호 API를 사용하여 암호화됩니다. 이 API는 SQL Server 서비스 계정의 Windows 자격 증명으로부터 파생된 키를 사용합니다.

서비스 마스터 키의 암호는 해당 키가 만들어진 서비스 계정이나 해당 서비스 계정의 Windows 자격 증명에 대한 액세스 권한이 있는 보안 주체에 의해서만 해독될 수 있습니다. 따라서 SQL Server 서비스를 실행 중인 Windows 계정을 변경하면 서비스 마스터 키의 암호 해독도 새 계정으로 활성화해야 합니다.

SQL Server 서비스 계정 변경

SQL Server 서비스 계정을 변경하려면 SQL Server 구성 관리자를 사용합니다. 서비스 계정의 변경을 관리하기 위해 SQL Server에서는 SQL Server 서비스 그룹에 부여된 필수 사용 권한을 가진 컴퓨터 계정에 의해 보호되는 서비스 마스터 키의 중복 사본을 저장합니다. 컴퓨터가 다시 작성된 경우 서비스 계정에서 이전에 사용했던 것과 같은 도메인 사용자가 서비스 마스터 키를 복구할 수 있습니다. 로컬 계정이나 로컬 시스템, 로컬 서비스 또는 네트워크 서비스 계정에서는 이 기능이 작동하지 않습니다. SQL Server를 다른 컴퓨터로 이동할 경우에는 백업 및 복원을 사용하여 서비스 마스터 키를 마이그레이션해야 합니다.

REGENERATE 구는 서비스 마스터 키를 다시 생성합니다. 서비스 마스터 키가 다시 생성되면 SQL Server는 이 키로 암호화된 모든 키의 암호를 해독한 다음 새로운 서비스 마스터 키로 키를 암호화합니다. 이 작업은 리소스 소비가 많습니다. 키가 손상된 경우가 아니면 이 작업은 사용량이 낮은 기간 동안에만 수행하도록 예약해야 합니다. 암호 해독 중 하나가 실패하면 전체 문이 실패합니다.

FORCE 옵션을 사용하면 프로세스에서 현재 마스터 키를 검색할 수 없거나 키로 암호화된 모든 개인 키의 암호를 해독할 수 없는 경우에도 키 다시 생성 프로세스가 계속됩니다. 키를 다시 생성하지 못하고 RESTORE SERVICE MASTER KEY 문을 사용하여 서비스 마스터 키를 복원할 수 없는 경우에만 FORCE를 사용합니다.

ms187788.Caution(ko-kr,SQL.90).gif주의:
서비스 마스터 키는 SQL Server 암호화 계층의 루트입니다. 서비스 마스터 키는 트리에 있는 모든 다른 키와 암호를 직접 또는 간접적으로 보호합니다. 강제 다시 생성 중에 종속된 키의 암호를 해독할 수 없는 경우 키가 보호하는 데이터가 손실됩니다.

MACHINE KEY 옵션을 사용하면 시스템 키에 의한 암호화를 추가하거나 삭제할 수 있습니다.

사용 권한

서버에 대한 CONTROL SERVER 권한이 필요합니다.

다음 예에서는 서비스 마스터 키를 다시 생성합니다.

ALTER SERVICE MASTER KEY REGENERATE;
GO

참고 항목

참조

RESTORE SERVICE MASTER KEY(Transact-SQL)
BACKUP SERVICE MASTER KEY(Transact-SQL)

관련 자료

암호화 계층

도움말 및 정보

SQL Server 2005 지원 받기