ALTER ASYMMETRIC KEY (Transact-SQL)

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

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

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

Примечание.

Этот синтаксис не поддерживается бессерверным пулом SQL в Azure Synapse Analytics.

Синтаксис

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'  

Примечание.

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

Аргументы

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

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

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

ENCRYPTION BY PASSWORD ='strongPassword'
Указывает новый пароль для защиты закрытого ключа. пароль должен соответствовать требованиям политики паролей 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  

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

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

ALTER ASYMMETRIC KEY PacificSales19 REMOVE PRIVATE KEY;  
GO  

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

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

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

См. также

CREATE ASYMMETRIC KEY (Transact-SQL)
DROP ASYMMETRIC KEY (Transact-SQL)
Ключи шифрования базы данных и SQL Server (компонент Database Engine)
Иерархия средств шифрования
CREATE MASTER KEY (Transact-SQL)
OPEN MASTER KEY (Transact-SQL)
Расширенное управление ключами (EKM)