CREATE MASTER KEY (Transact-SQL)

Создает главный ключ базы данных.

Применимо для следующих объектов: SQL Server (начиная с SQL Server 2008 до текущей версии).

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

Синтаксис

CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'password'

Аргументы

  • ПАРОЛЬ ='password'
    Пароль, который использовался при шифровке главного ключа базы данных. password должен соответствовать требованиям политики паролей Windows применительно к компьютеру, на котором запущен экземпляр SQL Server.

Замечания

Главный ключ базы данных — это симметричный ключ, который применяется для защиты закрытых ключей сертификатов и асимметричный ключей, которые есть в базе данных. При создании этот главный ключ зашифровывается с помощью алгоритма AES_256 и предоставленного пользователем пароля. В SQL Server 2008 и SQL Server 2008 R2 используется алгоритм 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 и хранить ее в безопасном месте вне данного веб-сайта.

Главный ключ службы и главный ключ базы данных защищаются алгоритмом шифрования AES-256.

Разрешения

Необходимо разрешение CONTROL для базы данных.

Примеры

В следующем примере создается главный ключ для базы данных AdventureWorks2012. Ключ зашифрован с помощью пароля 23987hxJ#KL95234nl0zBe.

USE AdventureWorks2012;
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)

Основные понятия

Иерархия средств шифрования