ALTER MASTER KEY (Transact-SQL)
Применимо: SQL Server База данных SQL Azure Управляемый экземпляр SQL Azure базе данных SQL Azure Synapse Analytics Analytics Platform System (PDW) в Microsoft Fabric
Изменяет свойства главного ключа базы данных.
Соглашения о синтаксисе Transact-SQL
Синтаксис
Синтаксис для SQL Server
-- Syntax for SQL Server
ALTER MASTER KEY <alter_option>
<alter_option> ::=
<regenerate_option> | <encryption_option>
<regenerate_option> ::=
[ FORCE ] REGENERATE WITH ENCRYPTION BY PASSWORD = 'password'
<encryption_option> ::=
ADD ENCRYPTION BY { SERVICE MASTER KEY | PASSWORD = 'password' }
|
DROP ENCRYPTION BY { SERVICE MASTER KEY | PASSWORD = 'password' }
Синтаксис для База данных SQL Azure и базы данных SQL в Microsoft Fabric
-- Syntax for Azure SQL Database
-- Note: DROP ENCRYPTION BY SERVICE MASTER KEY is not supported on Azure SQL Database.
ALTER MASTER KEY <alter_option>
<alter_option> ::=
<regenerate_option> | <encryption_option>
<regenerate_option> ::=
[ FORCE ] REGENERATE WITH ENCRYPTION BY PASSWORD = 'password'
<encryption_option> ::=
ADD ENCRYPTION BY { SERVICE MASTER KEY | PASSWORD = 'password' }
|
DROP ENCRYPTION BY { PASSWORD = 'password' }
Синтаксис для Системы платформы Azure Synapse Analytics и Analytics (PDW)
-- Syntax for Azure Synapse Analytics and Analytics Platform System
ALTER MASTER KEY <alter_option>
<alter_option> ::=
<regenerate_option> | <encryption_option>
<regenerate_option> ::=
[ FORCE ] REGENERATE WITH ENCRYPTION BY PASSWORD ='password'
<encryption_option> ::=
ADD ENCRYPTION BY SERVICE MASTER KEY
|
DROP ENCRYPTION BY SERVICE MASTER KEY
Аргументы
PASSWORD ='password'
Указывает пароль, с помощью которого необходимо зашифровать или расшифровать главный ключ базы данных. пароль должен соответствовать требованиям политики паролей Windows компьютера, на котором выполняется экземпляр SQL Server.
Замечания
С аргументом REGENERATE главный ключ базы данных и все защищаемые им ключи создаются повторно. Ключи сначала расшифровываются с помощью старого главного ключа, а затем шифруются с помощью нового. Эта ресурсоемкая операция должна быть запланирована в период низкого спроса, если главный ключ не скомпрометирован.
SQL Server 2012 (11.x) использует алгоритм шифрования AES для защиты главного ключа службы (SMK) и главного ключа базы данных (DMK). AES - это новый алгоритм шифрования, отличный от алгоритма 3DES, используемого в более ранних версиях. После обновления экземпляра ядро СУБД до SQL Server 2012 (11.x), smK и DMK следует повторно создать, чтобы обновить главные ключи до AES. Дополнительные сведения о повторном создании главного ключа базы данных см. в статье об ALTER SERVICE MASTER KEY.
Если используется параметр FORCE, восстановление ключей продолжается, даже если главный ключ недоступен или сервер не может расшифровать все зашифрованные закрытые ключи. Если главный ключ открыть невозможно, используется инструкция RESTORE MASTER KEY для восстановления главного ключа из резервной копии. Аргумент FORCE следует использовать только в случае, если главный ключ получить невозможно или при неудачной попытке расшифровки. Сведения, зашифрованные только безвозвратным ключом, теряются.
Фраза DROP ENCRYPTION BY SERVICE MASTER KEY позволяет отменить шифрование главного ключа базы данных с помощью главного ключа службы.
DROP ENCRYPTION BY SERVICE MASTER KEY не поддерживается в База данных SQL Azure.
Фраза ADD ENCRYPTION BY SERVICE MASTER KEY приводит к шифрованию копии главного ключа с помощью главного ключа службы, которая затем сохраняется как в текущей базе данных, так и в базе данных master.
Разрешения
Требует разрешения CONTROL для базы данных. Если главный ключ базы данных шифруется паролем, также требуется знание этого пароля.
Примеры
На этом примере показано, как создается новый главный ключ базы данных AdventureWorks
, после чего повторно шифруются ключи, стоящие внизу в иерархии шифрования. Замените <secure password>
строгим уникальным паролем.
USE AdventureWorks2022;
ALTER MASTER KEY REGENERATE WITH ENCRYPTION BY PASSWORD = '<secure password>';
GO
Примеры: Azure Synapse Analytics и система платформы аналитики (PDW)
На этом примере показано, как создается новый главный ключ базы данных AdventureWorksPDW2012
, после чего повторно шифруются ключи, стоящие внизу в иерархии шифрования. Замените <secure password>
строгим уникальным паролем.
USE master;
ALTER MASTER KEY REGENERATE WITH ENCRYPTION BY PASSWORD = '<secure password>';
GO