ALTER ASYMMETRIC KEY (Transact-SQL)

Изменяет свойства асимметричного ключа.

Значок ссылки на разделСоглашения о синтаксическом обозначении в Transact-SQL

Синтаксис

ALTER ASYMMETRIC KEY Asym_Key_Name <alter_option>

<alter_option> ::=
    <password_change_option> 
    | 
    REMOVE PRIVATE KEY
<password_change_option> ::=
    WITH PRIVATE KEY ( <password_option> [ , <password_option> ] )
<password_option> ::=
    ENCRYPTION BY PASSWORD = 'strongPassword'
    |
    DECRYPTION BY PASSWORD = 'oldPassword'

Аргументы

  • Asym_Key_Name
    Имя, под которым асимметричный ключ известен базе данных.

  • REMOVE PRIVATE KEY
    Удаляет закрытый ключ из асимметричного ключа. Открытый ключ не удаляется.

  • WITH PRIVATE KEY
    Изменяет защиту закрытого ключа.

  • ENCRYPTION BY PASSWORD ='stongPassword'
    Указывает новый пароль для защиты закрытого ключа. password должен соответствовать требованиям политики паролей Windows применительно к компьютеру, на котором работает экземпляр SQL Server. Если этот аргумент не указан, закрытый ключ будет зашифрован с помощью главного ключа базы данных.

  • DECRYPTION BY PASSWORD ='oldPassword'
    Указывает старый пароль, которым в данный момент защищен закрытый ключ. Этот аргумент не требуется, если закрытый ключ защищается главным ключом базы данных.

Замечания

Если главного ключа базы данных не существует, необходимо указать параметр ENCRYPTION BY PASSWORD, а если пароль не указан, операция завершится неуспешно. Дополнительные сведения о том, как создать главный ключ базы данных, см. в разделе CREATE MASTER KEY (Transact-SQL).

Инструкция ALTER ASYMMETRIC KEY позволяет изменить защиту закрытого ключа с помощью параметров PRIVATE KEY так, как показано в следующей таблице.

Тип изменения защиты

ENCRYPTION BY PASSWORD

DECRYPTION BY PASSWORD

Изменение старого пароля на новый

Обязателен

Обязателен

Изменение защиты паролем на защиту главным ключом

Нужно опустить

Обязателен

Изменение защиты главным ключом на защиту паролем

Обязателен

Нужно опустить

Чтобы главный ключ базы данных мог использоваться для защиты закрытого ключа, он сначала должен быть открыт. Дополнительные сведения см. в разделе OPEN MASTER KEY (Transact-SQL).

Для изменения владельца асимметричного ключа служит инструкция ALTER AUTHORIZATION.

Разрешения

При удалении закрытого ключа необходимо иметь разрешение CONTROL на асимметричный ключ.

Примеры

А. Изменение пароля закрытого ключа

В следующем примере изменяется пароль, используемый для защиты закрытого ключа асимметричного ключа PacificSales09. Новым паролем будет <enterStrongPasswordHere>.

ALTER ASYMMETRIC KEY PacificSales09 
    WITH PRIVATE KEY (
    DECRYPTION BY PASSWORD = '<oldPassword>',
    ENCRYPTION BY PASSWORD = '<enterStrongPasswordHere>');
GO

Б. Удаление закрытого ключа из асимметричного ключа

В следующем примере закрытый ключ удаляется из ассиметричного ключа PacificSales19, в котором остается только открытый ключ.

ALTER ASYMMETRIC KEY PacificSales19 REMOVE PRIVATE KEY;
GO

В. Снятие парольной защиты с закрытого ключа

В следующем примере снимается парольная защита закрытого ключа и устанавливается его защита главным ключом базы данных.

OPEN MASTER KEY;
ALTER ASYMMETRIC KEY PacificSales09 WITH PRIVATE KEY (
    DECRYPTION BY PASSWORD = '<enterStrongPasswordHere>' );
GO