ALTER CRYPTOGRAPHIC PROVIDER (Transact-SQL)

Berlaku untuk:yes SQL Server (semua versi yang didukung)

Mengubah penyedia kriptografi dalam SQL Server dari penyedia Extensible Key Management (EKM).

Topic link iconKonvensi Sintaksis T-SQL

Sintaks

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

Catatan

Untuk melihat sintaks transact-SQL untuk SQL Server 2014 dan yang lebih lama, lihat Dokumentasi versi sebelumnya.

Argumen

provider_name
Nama penyedia Extensible Key Management.

Path_of_DLL
Jalur file .dll yang mengimplementasikan antarmuka SQL Server Extensible Key Management.

AKTIFKAN | MENONAKTIFKAN
Mengaktifkan atau menonaktifkan penyedia.

Keterangan

Jika penyedia mengubah file .dll yang digunakan untuk menerapkan Extensible Key Management di SQL Server, Anda harus menggunakan pernyataan ALTER CRYPTOGRAPHIC PROVIDER.

Ketika jalur file .dll diperbarui dengan menggunakan pernyataan ALTER CRYPTOGRAPHIC PROVIDER, SQL Server melakukan tindakan berikut:

  • Menonaktifkan penyedia.
  • Memverifikasi tanda tangan DLL dan memastikan bahwa file .dll memiliki GUID yang sama dengan yang direkam dalam katalog.
  • Memperbarui versi DLL di katalog.

Ketika penyedia EKM diatur ke DISABLE, setiap upaya pada koneksi baru untuk menggunakan penyedia dengan pernyataan enkripsi akan gagal.

Untuk menonaktifkan penyedia, semua sesi yang menggunakan penyedia harus dihentikan.

Ketika dll penyedia EKM tidak menerapkan semua metode yang diperlukan, ALTER CRYPTOGRAPHIC PROVIDER dapat mengembalikan kesalahan 33085:

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

Ketika file header yang digunakan untuk membuat dll penyedia EKM sudah kedaluarsa, ALTER CRYPTOGRAPHIC PROVIDER dapat mengembalikan kesalahan 33032:

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

Izin

Memerlukan izin CONTROL pada penyedia kriptografi.

Contoh

Contoh berikut mengubah penyedia kriptografi, yang disebut SecurityProvider dalam SQL Server, ke versi file .dll yang lebih baru. Versi baru ini diberi nama c:\SecurityProvider\SecurityProvider_v2.dll dan diinstal pada server. Sertifikat penyedia harus diinstal pada server.

  1. Nonaktifkan penyedia untuk melakukan peningkatan. Ini akan mengakhiri semua sesi kriptografi terbuka.
ALTER CRYPTOGRAPHIC PROVIDER SecurityProvider   
DISABLE;  
GO  
  1. Tingkatkan file .dll penyedia. GUID harus sama dengan versi sebelumnya, tetapi versinya bisa berbeda.
ALTER CRYPTOGRAPHIC PROVIDER SecurityProvider  
FROM FILE = 'c:\SecurityProvider\SecurityProvider_v2.dll';  
GO  
  1. Aktifkan penyedia yang ditingkatkan.
ALTER CRYPTOGRAPHIC PROVIDER SecurityProvider   
ENABLE;  
GO  

Lihat juga

Extensible Key Management (EKM)
MEMBUAT PENYEDIA KRIPTOGRAFI (SQL T-T-)
HILANGKAN PENYEDIA KRIPTOGRAFI (SQL Bertransaksi)
CREATE SYMMETRIC KEY (Transact-SQL)
Manajemen Kunci yang Dapat Diperluas Menggunakan Azure Key Vault (SQL Server)