从应用程序外访问数据库

时间:2012-04-19 13:11:46

标签: sql-server-2008

我在共享服务器上有一个网站。它使用Sql server作为数据库(也是共享的),其帐户仅限于执行程序。现在我想知道是否有权访问sql server的人可以在没有我的凭据的情况下读取和操作我的数据(通过使用自己的凭据)?如果是这样,我如何跟踪登录到我的数据库的用户,更重要的是阻止他们停止?

2 个答案:

答案 0 :(得分:1)

使用SQL登录或使用Windows身份验证有两种方法可以连接到SQL。这些是您登录服务器的。然后,要连接到数据库,您必须被授予数据库的权限。因此,只要您的登录是唯一被授予数据库权限的人,那么您无需担心。

根据您对数据库的权限,可以在数据库中设置角色并将用户分配给角色。这样,任何人都可以在数据库中执行任何操作的唯一方法是,如果他们是您已设置的角色的成员(或者他们在服务器上有SA帐户,或者还在数据库上设置了dbo权限)。 / p>

再次根据您在服务器上拥有的权限,您可以设置跟踪(google sp_trace_create和sp_trace_setevent)来捕获数据库的登录信息,这会写入服务器的硬盘驱动器,然后您可以使用fn_trace_gettable来查询此数据。

答案 1 :(得分:1)

问题超出了执行权限和记录访问权限......

最重要的是,您和您的数据受主机的支配。如果他们可以信任并且能够胜任,那么您的数据应该是安全的。但是,如果您不确定,或者如果您存储的数据太贵而无法冒险,那么您唯一的选择就是加密数据,这样就无法从中获取任何有用信息并确保您拥有备份,或找到提供适当安全措施的其他主机。