如何拒绝登录“sa”对特定数据库的访问并授予另一个登录的访问权限?(SQL Server 2005 Express)

如何拒绝登录“sa”对特定数据库的访问并授予另一个登录的访问权限?(SQL Server 2005 Express)

我有带有“混合模式身份验证”的 SQL Server 2005 Express 版本。

因此,我想创建一个名为“ActivityLogs”的数据库,并拒绝“sa”登录的访问。我想创建另一个名为“AuditLogin”的登录,该登录应该能够单独访问此数据库。

“ActivityLogs” 不应被“sa”登录用于数据访问和架构访问。

如何才能做到这一点?

答案1

您不能拒绝“sa”(或者更准确地说,拒绝 sysadmin 角色的成员)的任何操作。在数据库内部,您不能拒绝“dbo”(或者更准确地说,拒绝 db_owner 角色的成员)的任何操作。事情就是这样,而且没有什么你可以采取一些措施来规避它。

如果要审计服务器,必须升级到 SQL 2008 并使用内置审计基础设施。该基础设施在设计上是防篡改的,因此即使系统管理员可以禁用它,禁用也会在审计日志中显现出来。

相关内容