我正在开发一个 Windows 应用程序。当我把这个软件给客户时,也有必要给数据库吗?我想锁定他计算机上的 SQL Server 数据库,以便他无法打开该数据库或复制或查看其架构或任何他可以访问该数据库的东西。
当他试图访问它时,它必须要求输入密码。那么,以上问题的解决方法是什么?
我正在开发一个 Windows 应用程序。当我把这个软件给客户时,也有必要给数据库吗?我想锁定他计算机上的 SQL Server 数据库,以便他无法打开该数据库或复制或查看其架构或任何他可以访问该数据库的东西。
当他试图访问它时,它必须要求输入密码。那么,以上问题的解决方法是什么?
SQL Server 数据库不能受密码保护——它们不仅仅是被打开的文件(如 dBase 或 SQLite)
“正常”访问控制是通过权限和用户处理的——您可以定义谁可以看到什么、修改什么、删除什么
但是,这不会阻止系统管理员查看您的数据库架构和内容;确实没有办法阻止这种情况,系统管理员也可以将.mdf
文件复制到另一台服务器并将其附加到那里并规避所有“安全性”
如果您真的必须隐藏所有这些,请不要提供数据库 - 将数据库隐藏在您自己的公司中,并为客户提供基于 Web 服务的界面,然后客户可以调用这些 Web 服务来完成他的工作 - 然后是架构和数据在您的控制之下,而且:客户的数据不再在他的控制之下,所以他可能不喜欢那样......