Share via


SqlCommand.RegisterColumnEncryptionKeyStoreProvidersOnCommand 메서드

정의

인스턴스에 암호화 키 저장소 공급자를 SqlCommand 등록합니다. 이 함수가 호출된 경우 또는 RegisterColumnEncryptionKeyStoreProvidersOnConnection(IDictionary<String,SqlColumnEncryptionKeyStoreProvider>) 메서드를 사용하여 RegisterColumnEncryptionKeyStoreProviders(IDictionary<String,SqlColumnEncryptionKeyStoreProvider>) 등록된 공급자는 무시됩니다. 이 함수를 두 번 이상 호출할 수 있습니다. 이렇게 하면 앱이 설정된 후 사용자 지정 공급자 목록을 변경할 수 없도록 사전을 단순하게 복사합니다.

public:
 void RegisterColumnEncryptionKeyStoreProvidersOnCommand(System::Collections::Generic::IDictionary<System::String ^, Microsoft::Data::SqlClient::SqlColumnEncryptionKeyStoreProvider ^> ^ customProviders);
public void RegisterColumnEncryptionKeyStoreProvidersOnCommand (System.Collections.Generic.IDictionary<string,Microsoft.Data.SqlClient.SqlColumnEncryptionKeyStoreProvider> customProviders);
member this.RegisterColumnEncryptionKeyStoreProvidersOnCommand : System.Collections.Generic.IDictionary<string, Microsoft.Data.SqlClient.SqlColumnEncryptionKeyStoreProvider> -> unit
Public Sub RegisterColumnEncryptionKeyStoreProvidersOnCommand (customProviders As IDictionary(Of String, SqlColumnEncryptionKeyStoreProvider))

매개 변수

customProviders
IDictionary<String,SqlColumnEncryptionKeyStoreProvider>

사용자 지정 열 암호화 키 공급자 사전

예외

null 사전이 제공되었습니다.

또는

사전의 문자열 키가 null이거나 비어 있습니다.

또는

SqlColumnEncryptionKeyStoreProvider 사전의 값이 null입니다.

사전의 문자열 키는 "MSSQL_"로 시작되었습니다. 이 접두사는 시스템 공급자를 위해 예약되어 있습니다.

설명

사용자 지정 마스터 키 저장소 공급자는 세 가지 계층에서 드라이버에 등록할 수 있습니다. 세 가지 등록의 우선 순위는 다음과 같습니다.

  • 명령별 등록이 비어 있지 않은지 확인됩니다.
  • 명령별 등록이 비어 있는 경우 연결별 등록이 비어 있지 않은지 확인됩니다.
  • 연결별 등록이 비어 있는 경우 전역 등록이 확인됩니다.

등록 수준에서 키 저장소 공급자가 발견되면 드라이버는 공급자를 검색하기 위해 다른 등록으로 대체되지 않습니다. 공급자가 등록되었지만 적절한 공급자가 특정 수준에 없는 경우 확인된 등록에서 등록된 공급자만 포함하는 예외가 throw됩니다.

Windows 인증서 저장소, CNG 저장소, CSP에 사용할 수 있는 기본 제공 열 마스터 키 저장소 공급자는 미리 등록됩니다.

이렇게 하면 앱이 설정된 후 사용자 지정 공급자 목록을 변경할 수 없도록 사전을 단순하게 복사합니다.

적용 대상