CREATE MASTER KEY (Transact-SQL)
Создает главный ключ базы данных.
Соглашения о синтаксисе в Transact-SQL
Синтаксис
CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'password'
Аргументы
- PASSWORD ='password'
Пароль для шифрования главного ключа базы данных.
Замечания
Главный ключ базы данных — это симметричный ключ, который применяется для защиты закрытых ключей сертификатов и асимметричный ключей, которые есть в базе данных. При создании этот ключ зашифровывается с помощью алгоритма «Triple DES» и пользовательского пароля. Чтобы обеспечить возможность автоматического расшифровывания главного ключа, его копия шифруется с помощью главного ключа службы и хранится в текущей базе данных и базе данных master. Как правило, копия, которая хранится в базе данных master, обновляется без взаимодействия с пользователем при каждом изменении главного ключа. Это действие, заданное по умолчанию, можно изменить с помощью параметра DROP ENCRYPTION BY SERVICE MASTER KEY инструкции ALTER MASTER KEY. Главный ключ, который не зашифровывается с помощью главного ключа службы, следует открывать с помощью инструкции OPEN MASTER KEY и пароля.
Столбец is_master_key_encrypted_by_server в представлении каталога sys.databases базы данных master показывает, зашифрован ли главный ключ базы данных с помощью главного ключа службы.
Сведения о главном ключе базы данных доступны в представлении каталога sys.symmetric_keys.
Важно! |
---|
Следует создать резервную копию главного ключа с помощью инструкции BACKUP MASTER KEY и хранить ее в безопасном месте вне данного веб-узла. |
Разрешения
Необходимо разрешение CONTROL для базы данных.
Примеры
В следующем примере создается главный ключ для базы данных AdventureWorks
. Ключ зашифрован с помощью пароля 23987hxJ#KL95234nl0zBe
.
USE AdventureWorks;
CREATE MASTER KEY ENCRYPTION BY PASSWORD = '23987hxJ#KL95234nl0zBe';
GO
См. также
Справочник
sys.symmetric_keys (Transact-SQL)
sys.databases (Transact-SQL)
OPEN MASTER KEY (Transact-SQL)
ALTER MASTER KEY (Transact-SQL)
DROP MASTER KEY (Transact-SQL)
CLOSE MASTER KEY (Transact-SQL)