SQL Server 2016,使用证书加密,始终加密。为了使客户端应用程序能够接收解密数据,只需在PC上安装证书,并使用ColumnEncryption = Enabled;
连接字符串即可。
但这意味着在该PC上任何应用程序都可以访问数据库 - 只需知道连接字符串即可。如何确保安装了证书的PC上只有一个/某个应用程序访问数据库及其解密数据?
答案 0 :(得分:0)
有一种方法,连接字符串中的应用程序名称。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
但我不认为这对这类敏感应用程序有好处。