ALTER ASYMMETRIC KEY (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
См. также