ALTER SERVICE MASTER KEY (Transact-SQL)

Изменяет главный ключ службы экземпляра 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' }

Аргументы

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

  • REGENERATE
    Указывает, что главный ключ службы должен быть создан повторно.

  • 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.

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

Изменение учетной записи службы 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. Главный ключ службы прямо или непрямо защищает все другие ключи и секретные данные в иерархии шифрования. Если зависящий от него ключ не удастся расшифровать во время принудительного повторного создания главного ключа, то защищаемые этим ключом данные будут потеряны.

Параметры MACHINE KEY позволяют добавлять и удалять шифрование с помощью ключа компьютера.

Разрешения

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

Примеры

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

ALTER SERVICE MASTER KEY REGENERATE;
GO