运行 SQL Server Profiler 所需的权限
默认情况下,用户运行 SQL Server Profiler所需的权限与执行用于创建跟踪的 Transact-SQL 存储过程所需的权限相同。若要运行 SQL Server Profiler,用户必须拥有 ALTER TRACE 权限。有关详细信息,请参阅GRANT 服务器权限 (Transact-SQL)。
用于重播跟踪的权限
重播跟踪也要求重播跟踪的用户拥有 ALTER TRACE 权限。
但是,如果重播期间在重播的跟踪中遇到 Audit Login 事件,SQL Server Profiler将使用 EXECUTE AS 命令。SQL Server Profiler使用 EXECUTE AS 命令模拟与登录事件关联的用户。
如果 SQL Server Profiler在重播的跟踪中遇到登录事件,将执行下列权限检查:
- 拥有 ALTER TRACE 权限的用户 1 开始重播跟踪。
- 在重播的跟踪中遇到用户 2 的登录事件。
- SQL Server Profiler使用 EXECUTE AS 命令模拟用户 2。
- SQL Server 尝试验证用户 2 的身份,根据结果的不同会出现下列情况之一:
- 如果用户 2 无法通过身份验证,SQL Server Profiler将返回一个错误,并以用户 1 的身份继续重播跟踪。
- 如果用户 2 成功通过身份验证,将以用户 2 的身份继续重播跟踪。
- 检查用户 2 对目标数据库的权限,根据结果的不同会出现下列情况之一:
- 如果用户 2 拥有对目标数据库的权限,则模拟成功,并以用户 2 的身份重播跟踪。
- 如果用户 2 不拥有对目标数据库的权限,则服务器将检查该数据库的 Guest 用户。
- 将检查目标数据库中是否存在 Guest 用户,根据结果的不同会出现下列情况之一:
- 如果 Guest 帐户存在,将以 Guest 帐户重播跟踪。
- 如果目标数据库中不存在 Guest 帐户,将返回一个错误,并以用户 1 的身份重播跟踪。
以下关系图说明了重播跟踪时此检查权限的过程:
请参阅
任务
如何创建跟踪 (SQL Server Profiler)
如何重播跟踪表 (SQL Server Profiler)
如何重播跟踪文件 (SQL Server Profiler)
概念
其他资源
SQL Server Profiler 存储过程 (Transact-SQL)