SQL Server 访问日志

SQL Server 访问日志

是否可以显示某种类型的访问日志,其中有效用户(有权访问特定数据库 [或多个数据库])尝试访问他们无权访问的数据库?例如,如果我使用 SQL Server 帐户通过 SMS 登录到数据库服务器,然后尝试扩展我的帐户无权访问的数据库,我会收到“数据库 [DBName] 不可访问”错误。是否有任何类型的日志可以显示尝试此操作的用户?同样,是否可以将 SMS 中显示的数据库列表限制为仅用户可以访问的数据库,而不显示其他数据库?

答案1

我找不到任何类型的访问日志选项来显示尝试访问用户无权访问的数据库,但我可以通过在 Master 上执行以下操作来限制他们的访问权限:

DENY VIEW ANY DATABASE TO LOGIN [UserName]

这样可以防止用户看到 SMS 中的任何数据库。接下来要更改的是我希望用户能够看到的任何数据库的所有权,方法是转到属性并设置所有者。此时,登录的用户只能看到他们拥有的数据库,而看不到其他任何数据库,这是一种隐式安全形式,可以满足我的需求。

相关内容