SQL Server 2016,使用证书进行加密。为了使客户端应用程序接收解密的数据,在PC上安装证书以及带有ColumnEncryption = Enabled;
的连接字符串就足够了。
但这意味着在该PC上,任何应用程序都可以访问数据库 - 只需知道连接字符串即可。如何确保在安装了证书的PC上 - 只有一个/特定的应用程序访问数据库及其解密数据?
有
一种方法,连接字符串中的应用程序名称 .restricting-access-to-database-by-application-name-andor-host-name-in-sql-server
CREATE TRIGGER RestrictAccessPerApplication
ON ALL SERVER
FOR LOGON
AS
BEGIN
IF
(PROGRAM_NAME() = 'Microsoft® Access' AND HOST_NAME() = 'WORKSTATION_01')
BEGIN
ROLLBACK;
END
END
但我认为这对这种类型的敏感应用程序没有好处。