如何使用自定义密码保护 SqlLocalDB 数据库文件
How to protect SqlLocalDB database file with custom password
我设计了一个使用SqlLocalDb v11.0实例的软件。数据库将位于用户的计算机上(.mdf
文件)。我之前使用的是 SQL Server CE。
在 SQL 服务器 CE 中,我的数据库受 "Encryption Mode = Engine Default"
密码保护
有没有办法保护SqlLocalDB?
我知道有一种使用命名实例的方法,如 link
https://msdn.microsoft.com/en-us/library/hh510202(v=sql.110).aspx
有没有办法将密码与 LocalDB .mdf
文件相关联。这样其他的打不开?
如果您的意思是保护文件免受用户侵害,我认为答案是否定的,您不能。用户可以简单地复制您的文件。
LocalDB always runs under the users security context; that is, LocalDB
never runs with credentials from the local Administrator’s group. This
means that all database files used by a LocalDB instance must be
accessible using the owning user’s Windows account, without
considering membership in the local Administrators group.
有关详细信息,请参阅 SQL Server 2012 Express LocalDB
中的权限部分
我相信您可以选择使用 .Net Framework 和 TSQL 方法加密和解密数据,但您无法使用数据库加密选项保护您的数据库对象,因为 LocalDB 不支持 TDE(透明数据加密)。
如果您愿意考虑可能对您有帮助的第三方产品(可能还有其他产品),您可能需要查看 NetLib Encryptionizer。它类似于 SQL Server TDE,但适用于 SQL Server 的所有版本和版本,包括 Express 和 LocalDB。通常由应用程序开发人员使用。然而,它的工作方式与 SQL 的内置 TDE 不同。 SQL TDE(显然)内置于 SQL 服务器中,并在页面级别进行加密。加密器位于 SQL 和操作系统之间,并在文件级别进行加密。
我相信还有另一个产品 DBEncrypt,但我不确定是否支持 LocalDB。它通过将代码注入 运行 SQL 进程来工作。
(免责声明:我来自 NetLib Security)。
我设计了一个使用SqlLocalDb v11.0实例的软件。数据库将位于用户的计算机上(.mdf
文件)。我之前使用的是 SQL Server CE。
在 SQL 服务器 CE 中,我的数据库受 "Encryption Mode = Engine Default"
密码保护有没有办法保护SqlLocalDB?
我知道有一种使用命名实例的方法,如 link https://msdn.microsoft.com/en-us/library/hh510202(v=sql.110).aspx
有没有办法将密码与 LocalDB .mdf
文件相关联。这样其他的打不开?
如果您的意思是保护文件免受用户侵害,我认为答案是否定的,您不能。用户可以简单地复制您的文件。
LocalDB always runs under the users security context; that is, LocalDB never runs with credentials from the local Administrator’s group. This means that all database files used by a LocalDB instance must be accessible using the owning user’s Windows account, without considering membership in the local Administrators group.
有关详细信息,请参阅 SQL Server 2012 Express LocalDB
中的权限部分我相信您可以选择使用 .Net Framework 和 TSQL 方法加密和解密数据,但您无法使用数据库加密选项保护您的数据库对象,因为 LocalDB 不支持 TDE(透明数据加密)。
如果您愿意考虑可能对您有帮助的第三方产品(可能还有其他产品),您可能需要查看 NetLib Encryptionizer。它类似于 SQL Server TDE,但适用于 SQL Server 的所有版本和版本,包括 Express 和 LocalDB。通常由应用程序开发人员使用。然而,它的工作方式与 SQL 的内置 TDE 不同。 SQL TDE(显然)内置于 SQL 服务器中,并在页面级别进行加密。加密器位于 SQL 和操作系统之间,并在文件级别进行加密。
我相信还有另一个产品 DBEncrypt,但我不确定是否支持 LocalDB。它通过将代码注入 运行 SQL 进程来工作。
(免责声明:我来自 NetLib Security)。