ALTER SERVICE MASTER KEY (Transact-SQL)

Применимо к:SQL Server Управляемый экземпляр SQL Azure

Изменяет главный ключ службы экземпляра SQL Server.

Соглашения о синтаксисе Transact-SQL

Синтаксис

ALTER SERVICE MASTER KEY   
    [ { <regenerate_option> | <recover_option> } ] [;]  
  
<regenerate_option> ::=  
    [ FORCE ] REGENERATE  
  
<recover_option> ::=  
    { WITH OLD_ACCOUNT = 'account_name' , OLD_PASSWORD = 'password' }  
    |      
    { WITH NEW_ACCOUNT = 'account_name' , NEW_PASSWORD = 'password' }  

Примечание.

Сведения о синтаксисе Transact-SQL для SQL Server 2014 (12.x) и более ранних версиях см . в документации по предыдущим версиям.

Аргументы

FORCE
Указывает, что главный ключ службы должен быть принудительно создан повторно, даже если это может привести к потере данных. Дополнительные сведения см. в разделе Изменение учетной записи службы SQL Server далее в этой теме.

ПОВТОРНО СОЗДАТЬ
Указывает, что главный ключ службы должен быть создан повторно.

OLD_ACCOUNT ='account_name'
Указывает имя старой учетной записи службы Windows.

Предупреждение

Данный параметр является устаревшим. Не используйте. Вместо этого используйте диспетчер конфигурации SQL Server.

OLD_PASSWORD ='password'
Указывает пароль старой учетной записи службы Windows.

Предупреждение

Данный параметр является устаревшим. Не используйте. Вместо этого используйте диспетчер конфигурации SQL Server.

NEW_ACCOUNT ='account_name'
Указывает имя новой учетной записи службы Windows.

Предупреждение

Данный параметр является устаревшим. Не используйте. Вместо этого используйте диспетчер конфигурации SQL Server.

NEW_PASSWORD ='password'
Указывает пароль новой учетной записи службы Windows.

Предупреждение

Данный параметр является устаревшим. Не используйте. Вместо этого используйте диспетчер конфигурации SQL Server.

Замечания

Главный ключ службы автоматически создается в первый раз, когда он требуется для шифрования пароля связанного сервера, учетных данных или главного ключа базы данных. Главный ключ службы шифруется с помощью ключа локального компьютера или интерфейса API защиты данных Windows. Этот API использует ключ, производный от учетных данных Windows учетной записи службы SQL Server.

SQL Server 2012 (11.x) использует алгоритм шифрования AES для защиты главного ключа службы (SMK) и главного ключа базы данных (DMK). AES - это новый алгоритм шифрования, отличный от алгоритма 3DES, используемого в более ранних версиях. После обновления экземпляра ядро СУБД до SQL Server 2012 (11.x) smK и DMK необходимо повторно создать, чтобы обновить главные ключи до AES. Дополнительные сведения о повторном создании главного ключа базы данных см. в статье ALTER MASTER KEY (Transact-SQL).

Изменение учетной записи службы SQL Server

Чтобы изменить учетную запись службы SQL Server, используйте диспетчер конфигурации SQL Server. Для управления изменением учетной записи службы SQL Server сохраняет избыточное копирование главного ключа службы, защищенного учетной записью компьютера с необходимыми разрешениями, предоставленными группе служб SQL Server. Если выполняется перестроение компьютера, то главный ключ службы может быть восстановлен тем же пользователем домена, который раньше использовался учетной записью службы. Такой метод не работает с локальными учетными записями, а также с учетными записями Local System, Local Service и Network Service. При перемещении SQL Server на другой компьютер перенесите главный ключ службы с помощью резервного копирования и восстановления.

Фраза REGENERATE повторно создает главный ключ службы. При повторном создании главного ключа службы SQL Server расшифровывает все ключи, зашифрованные с ним, а затем шифрует их с помощью нового главного ключа службы. Эта операция требовательна к вычислительным ресурсам. Рекомендуется назначать ее выполнение на периоды низкой загрузки системы, кроме случаев получения несанкционированного доступа к ключу. В случае ошибки любой из операций дешифрования выполнение инструкции в целом также завершается ошибкой.

Установка параметра FORCE вызывает продолжение процесса повторного создания ключа даже в том случае, когда не удается получить текущий главный ключ или расшифровать все зашифрованные им закрытые ключи. Используйте параметр FORCE, только если повторное создание ключа заканчивается неудачей, и невозможно восстановить главный ключ службы с помощью инструкции RESTORE SERVICE MASTER KEY.

Внимание

Главный ключ службы является корнем иерархии шифрования SQL Server. Главный ключ службы прямо или непрямо защищает все другие ключи и секретные данные в иерархии шифрования. Если зависящий от него ключ не удастся расшифровать во время принудительного повторного создания главного ключа, то защищаемые этим ключом данные будут потеряны.

При перемещении SQL на другой компьютер следует использовать одну и ту же учетную запись службы для дешифрования главного ключа службы — SQL Server фиксирует шифрование учетной записи компьютера автоматически.

Разрешения

Необходимо разрешение CONTROL SERVER на сервер.

Примеры

Следующий пример иллюстрирует повторное создание главного ключа службы.

ALTER SERVICE MASTER KEY REGENERATE;  
GO  

См. также

RESTORE SERVICE MASTER KEY (Transact-SQL)
ГЛАВНЫЙ КЛЮЧ СЛУЖБЫ BACKUP (Transact-SQL)
Иерархия средств шифрования