ALTER CRYPTOGRAPHIC PROVIDER (Transact-SQL)

Dotyczy:SQL Server

Zmienia dostawcę kryptograficzny w SQL Server z dostawcy Rozszerzalnego Zarządzania Kluczami (EKM).

Transact-SQL konwencje składni

Syntax

ALTER CRYPTOGRAPHIC PROVIDER provider_name   
    [ FROM FILE = path_of_DLL ]  
    ENABLE | DISABLE  

Arguments

provider_name
Nazwa dostawcy Rozszerzalnego Zarządzania Kluczami.

Path_of_DLL
Path of the .dll plik, który implementuje interfejs SQL Server Extensible Key Management.

WŁĄCZ | WYŁĄCZAĆ
Umożliwia lub wyłącza świadczeniodawcę.

Remarks

Jeśli dostawca zmieni plik .dll używany do implementacji Rozszerzalnego Zarządzania Kluczami w SQL Server, musisz użyć ALTER CRYPTOGRAPHIC PROVIDER tego polecenia.

Gdy ścieżka pliku .dll zostanie zaktualizowana za pomocą ALTER CRYPTOGRAPHIC PROVIDER instrukcji, SQL Server wykonuje następujące działania:

  • Wyłącza dostawcę.
  • Weryfikuje sygnaturę DLL i zapewnia, że plik .dll ma ten sam GUID co ten zarejestrowany w katalogu.
  • Aktualizuje wersję DLL w katalogu.

Gdy dostawca EKM jest ustawiony na DISABLE, wszelkie próby korzystania z usług dostawcy z instrukcjami szyfrowania na nowych połączeniach zakończą się niepowodzeniem.

Aby wyłączyć dostawcę, wszystkie sesje korzystające z tego dostawcy muszą zostać zakończone.

Gdy dll dostawcy EKM nie wdroży wszystkich niezbędnych metod, ALTER CRYPTOGRAPHIC PROVIDER może zwrócić błąd 33085:

One or more methods cannot be found in cryptographic provider library '%.*ls'.

Gdy plik nagłówkowy użyty do utworzenia dll dostawcy EKM jest nieaktualny, ALTER CRYPTOGRAPHIC PROVIDER może zwrócić błąd 33032:

SQL Crypto API version '%02d.%02d' implemented by provider is not supported. Supported version is '%02d.%02d'.

Permissions

Wymaga uprawnień CONTROL od dostawcy kryptograficznego.

Examples

Poniższy przykład zmienia dostawcę kryptograficznego, wywołanego SecurityProvider w SQL Server, na nowszą wersję pliku .dll. Ta nowa wersja jest nazwana i zainstalowana c:\SecurityProvider\SecurityProvider_v2.dll na serwerze. Certyfikat dostawcy musi być zainstalowany na serwerze.

  1. Wyłącz dostawcę, aby dokonać aktualizacji. To zakończy wszystkie otwarte sesje kryptograficzne.
ALTER CRYPTOGRAPHIC PROVIDER SecurityProvider   
DISABLE;  
GO  
  1. Zaktualizuj plik dostawcy .dll pliku. GUID musi być taki sam jak poprzednia wersja, ale wersja może się różnić.
ALTER CRYPTOGRAPHIC PROVIDER SecurityProvider  
FROM FILE = 'c:\SecurityProvider\SecurityProvider_v2.dll';  
GO  
  1. Włącz zaktualizowanego dostawcę.
ALTER CRYPTOGRAPHIC PROVIDER SecurityProvider   
ENABLE;  
GO  

Zobacz też

Rozszerzone zarządzanie kluczami (EKM)
CREATE CRYPTOGRAPHIC PROVIDER (Transact-SQL)
DROP CRYPTOGRAPHIC PROVIDER (Transact-SQL)
CREATE SYMMETRIC KEY (Transact-SQL)
Rozszerzone zarządzanie kluczami przy użyciu usługi Azure Key Vault (SQL Server)