ALTER SERVICE MASTER KEY (Transact-SQL)

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

Применимо для следующих объектов: SQL Server (начиная с SQL Server 2008 до текущей версии).

Значок ссылки на раздел Синтаксические обозначения в 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.

В SQL Server 2012 для защиты главного ключа службы и главного ключа базы данных используется алгоритм шифрования AES. AES — это новый алгоритм шифрования, отличный от алгоритма 3DES, используемого в более ранних версиях. После обновления экземпляра компонента Компонент Database Engine до SQL Server 2012 необходимо заново сформировать главный ключ службы и главный ключ базы данных, чтобы обновить главные ключи до алгоритма 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 SERVICE MASTER KEY (Transact-SQL)

Основные понятия

Иерархия средств шифрования