如何使用自定义密码保护SqlLocalDB数据库文件

本文关键字:数据库 文件 SqlLocalDB 密码保护 何使用 自定义 | 更新日期: 2023-09-27 18:16:20

我设计了一个使用SqlLocalDb v11.0实例的软件。数据库将在用户的机器上(.mdf文件)。我以前使用SQL Server CE。

在SQL Server CE我的数据库是由密码保护与"加密模式=引擎默认"

是否有任何方法来保护SqlLocalDB?

我知道有一种方法使用命名实例,如在链接https://msdn.microsoft.com/en-us/library/hh510202 (v = sql.110) . aspx

是否有办法将密码与LocalDB .mdf文件关联。这样别人就打不开了吗?

如何使用自定义密码保护SqlLocalDB数据库文件

如果你的意思是保护用户的文件,我认为答案是不,你不能。用户可以简单地复制你的文件。

LocalDB总是在用户安全上下文中运行;即LocalDB从不使用本地管理员组的凭据运行。这表示 LocalDB实例使用的所有数据库文件必须是可以使用所属用户的Windows帐户访问,没有考虑本地Administrators组的成员资格。

有关更多信息,请参阅SQL Server 2012 Express LocalDB

中的权限部分

我相信你可以选择使用。net框架和TSQL方法加密和解密数据,但是你不能使用数据库加密选项来保护你的数据库对象,因为LocalDB不支持TDE(透明数据加密)。

如果您愿意考虑可能帮助您的第三方产品(可能还有其他产品),您可能想看看NetLib Encryptionizer。它类似于SQL Server TDE,但适用于所有版本和版本的SQL Server,包括Express和LocalDB。通常由应用程序开发人员使用。然而,它的工作方式与SQL的内置TDE不同。SQL TDE(显然)内置于SQL Server中,并在页面级别进行加密。Encryptionizer位于SQL和操作系统之间,并在文件级别进行加密。

有另一个产品,DBEncrypt我相信,但我不确定是否支持LocalDB。它的工作原理是将代码注入正在运行的SQL进程中。

(免责声明:我来自NetLib Security)。