SqlCommand.RegisterColumnEncryptionKeyStoreProvidersOnCommand 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
在 实例上 SqlCommand 注册加密密钥存储提供程序。 如果已调用此函数,则将忽略使用 RegisterColumnEncryptionKeyStoreProviders(IDictionary<String,SqlColumnEncryptionKeyStoreProvider>) 或 RegisterColumnEncryptionKeyStoreProvidersOnConnection(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>
自定义列加密密钥提供程序字典
例外
字典中以“MSSQL_”开头的字符串键。 此前缀保留给系统提供程序。
注解
自定义主密钥存储提供程序可以在三个不同层的驱动程序中注册。 三个注册的优先级如下:
- 如果每个命令的注册不为空,则将勾选该注册。
- 如果每个命令的注册为空,且每个连接的注册不为空,则将勾选每个连接的注册。
- 如果每个连接的注册为空,则将勾选全局注册。
在注册级别找到任何密钥存储提供程序后,驱动程序将不会回退到其他注册来搜索提供程序。 如果提供程序已注册,但在某个级别找不到合适的提供程序,则会引发异常,即仅包含已勾选的注册中已注册的提供程序。
可用于 Windows 证书存储、CNG 存储和 CSP 的内置列主密钥存储提供程序是预先注册的。
这会对字典执行浅表复制,以便应用在设置自定义提供程序列表后无法更改该列表。