Udostępnij za pośrednictwem


ALTER szyfrowania dostawcy (Transact-SQL)

Zmienia dostawca usług kryptograficznych w SQL Server z zarządzania klucza rozszerzonego (EKM) dostawca.

Ikona łącza do tematuJęzyka Transact-SQL składni konwencje

Składnia

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

Argumenty

  • provider_name
    Nazwa rozszerzonego Key Management dostawca.

  • Path_of_DLL
    Ścieżka pliku .dll, który implementuje SQL Server zarządzania klucza rozszerzonego interfejs.

  • WŁĄCZ | WYŁĄCZ
    Włącza lub wyłącza dostawca.

Uwagi

Jeśli dostawca zmienia pliku .dll, który jest używany do zaimplementowania Extensible Key Management w SQL Server, należy użyć dostawcy usług KRYPTOGRAFICZNYCH ALTER instrukcja.

Po zaktualizowaniu pliku .dll ścieżka przy użyciu dostawcy usług KRYPTOGRAFICZNYCH zmiany instrukcja SQL Server wykonuje następujące akcje:

  • Wyłącza dostawca.

  • Weryfikuje podpis DLL i gwarantuje, że plik .dll ma ten sam identyfikator GUID, z którego rejestrowane w katalogu.

  • Aktualizuje DLL wersja w katalogu.

Gdy EKM dostawca jest zestaw na Wyłącz, wszelkie próby sprawozdań szyfrowanie za pomocą dostawca na nowe połączenia nie powiedzie się.

Aby wyłączyć dostawca, wszystkie sesje, które używają dostawca musi być zakończony.

Gdy dll dostawca EKM nie implementuje wszystkie niezbędne metody, zmienić DOSTAWCĘ usług KRYPTOGRAFICZNYCH może zwracać błąd 33085:

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

Gdy użyty do utworzenia biblioteki dll dostawca EKM pliku nagłówka jest data, zmienić DOSTAWCĘ usług KRYPTOGRAFICZNYCH może zwracać błąd 33032:

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

Uprawnienia

Wymaga uprawnienie Kontrola dostawcausług kryptograficznych.

Przykłady

Poniższy przykład modyfikuje kryptograficznych dostawca, o nazwie SecurityProvider w SQL Server, do nowszej wersja pliku .dll.Nowa wersja jest o nazwie c:\SecurityProvider\SecurityProvider_v2.dll i jest zainstalowany na serwerze.dostawca certyfikat musi być zainstalowany na serwerze.

/* First, disable the provider to perform the upgrade.
This will terminate all open cryptographic sessions */
ALTER CRYPTOGRAPHIC PROVIDER SecurityProvider 
DISABLE;
GO

/* Upgrade the provider .dll file. The GUID must the same
as the previous version, but the version can be different. */
ALTER CRYPTOGRAPHIC PROVIDER SecurityProvider
FROM FILE = 'c:\SecurityProvider\SecurityProvider_v2.dll';
GO

/* Enable the upgraded provider. */
ALTER CRYPTOGRAPHIC PROVIDER SecurityProvider 
ENABLE;
GO