1

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

4

2 回答 2

1

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

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

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

于 2012-04-19T14:27:13.797 回答
1

问题超出了执行权限和日志访问...

底线是您和您的数据受主机支配。如果他们可以信任并且有能力,那么您的数据应该是安全的。但是,如果您不确定,或者如果您存储的数据太有价值而无法冒险,您唯一的选择是加密数据,以便从中发现任何有用的信息,并确保您有备份,或者找到不同的主机谁将提供适当的保障。

于 2012-04-19T15:26:12.777 回答