Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Область применения: SQL Server
Изменяет поставщик шифрования в SQL Server из поставщика расширенного управления ключами (EKM).
Соглашения о синтаксисе Transact-SQL
Синтаксис
ALTER CRYPTOGRAPHIC PROVIDER provider_name
[ FROM FILE = path_of_DLL ]
ENABLE | DISABLE
Аргументы
provider_name
Имя поставщика расширенного управления ключами.
Path_of_DLL
Путь к файлу .dll, реализующего интерфейс управления расширяемыми ключами SQL Server.
ENABLE | DISABLE
Включает или отключает поставщик.
Замечания
Если поставщик изменяет файл .dll, используемый для реализации расширяемого управления ключами в SQL Server, необходимо использовать инструкцию ALTER CRYPTOGRAPHIC PROVIDER.
При обновлении пути к файлу .dll с помощью инструкции ALTER CRYPTOGRAPHIC PROVIDER SQL Server выполняет следующие действия:
- Отключает поставщик.
- Проверяет подлинность подписи DLL-библиотеки, а также то, что ее идентификатор GUID совпадает с тем, который записан в каталоге.
- Обновляет версию DLL-библиотеки в каталоге.
Если для поставщика расширенного управления ключами установлено значение DISABLE, то любые попытки использовать этот поставщик с инструкциями шифрования для новых соединений завершается ошибкой.
Перед отключением поставщика необходимо закрыть все сеансы, использующие его.
Если DLL-библиотека поставщика расширенного управления ключами не реализует все необходимые методы, то инструкция ALTER CRYPTOGRAPHIC PROVIDER может вернуть ошибку 33085:
One or more methods cannot be found in cryptographic provider library '%.*ls'.
Если файл заголовка, используемый для создания поставщика расширенного управления ключами DLL-библиотек, устарел, то инструкция ALTER CRYPTOGRAPHIC PROVIDER может вернуть ошибку 33032:
SQL Crypto API version '%02d.%02d' implemented by provider is not supported. Supported version is '%02d.%02d'.
Разрешения
Требуется разрешение CONTROL для поставщика служб шифрования.
Примеры
В следующем примере поставщик шифрования, вызываемого SecurityProvider в SQL Server, изменяется на более новую версию файла .dll. Эта новая версия имеет имя c:\SecurityProvider\SecurityProvider_v2.dll и установлена на сервере. Сначала необходимо установить на сервере сертификат поставщика.
- Отключите поставщик для выполнения обновления. Будут завершены все открытые сеансы шифрования.
ALTER CRYPTOGRAPHIC PROVIDER SecurityProvider
DISABLE;
GO
- Обновите DLL-файл поставщика. Идентификатор GUID должен быть тем же, что и в предыдущей версии, но версия может отличаться.
ALTER CRYPTOGRAPHIC PROVIDER SecurityProvider
FROM FILE = 'c:\SecurityProvider\SecurityProvider_v2.dll';
GO
- Включите обновленный поставщик.
ALTER CRYPTOGRAPHIC PROVIDER SecurityProvider
ENABLE;
GO
См. также
Расширенное управление ключами (EKM)
CREATE CRYPTOGRAPHIC PROVIDER (Transact-SQL)
DROP CRYPTOGRAPHIC PROVIDER (Transact-SQL)
CREATE SYMMETRIC KEY (Transact-SQL)
Расширенное управление ключами с помощью Azure Key Vault (SQL Server)