SQL Server:跟踪数据库活动或登录完全限定的表查询

时间:2014-04-21 17:00:53

标签: sql sql-server sql-server-2008-r2 sql-server-profiler

我正在尝试审核SQL Server的安全性。我试图在数据库上运行跟踪以获取登录和访问数据库的用户。但是,如果从其他数据库运行查询,则不会生成登录事件。

示例:我正在尝试跟踪[Database2]

的登录
Use [Database1];
Go

SELECT * FROM [Database2].[dbo].[Table]

Database2下的跟踪中没有记录任何事件。

我们的环境是SQL Server 2008 R2标准版。任何建议将不胜感激。

1 个答案:

答案 0 :(得分:0)

这是因为数据库用户无法登录SQL Server。 SQL Server具有名为" logins"的安全实体。用于登录SQL Server实例的。这些登录是从Active Directory或SQL Server登录的Windows登录,您可以定义并指定用户名和密码。数据库"用户"在数据库级别定义。用户无法登录任何地方,他们甚至没有密码。想法是SQL Server" login"映射到特定数据库" user"连接到特定数据库时。 您对其他数据库的查询不会生成登录,因为登录是服务器范围的事件,而不是数据库范围的事件。

例如,请参阅here