如何从sa和window身份验证中隐藏数据库或数据库对象?

时间:2013-11-30 14:43:37

标签: sql-server sql-server-2008

我创建了Winforms应用程序,它存储了一些敏感数据,如用户名和密码。 许多用户使用的系统。我正在使用SQL Server Express来存储数据。

应用程序通过同步框架从远程服务器下载数据。我想只为该数据库创建一个用户,以便我可以同步该数据库。

我的问题是我想要隐藏使用该应用程序的所有用户以及sa& Windows身份验证帐户。所以没有人能看到其他用户名或密码。

我该怎么做?

1 个答案:

答案 0 :(得分:0)

如果我理解得很好,最好的办法是:

  1. 保留一个管理登录名(一个登录名为sysadmin的成员)。会是你。您至少需要一名管理员。
  2. 禁用sa:ALTER LOGIN [sa] DISABLE;
  3. 对于所有其他登录,将它们作为用户添加到数据库中,但不要授予他们任何权限。他们将无法看到任何内容
  4. 使用应用程序角色(不推荐使用)或创建没有登录的用户并使用EXECUTE AS(这是新的方法):您可以在此处了解更多信息:http://msdn.microsoft.com/en-us/library/bb669062(v=vs.110).aspx和{{3} }。这样,只有在通过应用程序进行连接时,才允许您为用户设置其他权限。