以用户身份执行:dbo。您无权运行'SYS.TRACES'。 [SQLSTATE 42000](错误8189)

时间:2013-07-07 03:31:01

标签: sql-server database tsql sql-server-2008-r2 sql-agent-job

我正在尝试在SQL Server 2008 R2上运行一个简单的跟踪选择语句,但它失败了。

当我尝试通过SQL Server代理作业调用以下语句时失败,SQL Server代理的服务帐户是Administrator组的一部分,并且在服务器和SQL Server实例上具有完全SA访问权限。

当我从查询分析器运行时,同样的命令工作正常,它只是让我疯狂,我失踪的地方。好的是同样的选择是从SQL Server 2005实例运行而没有问题。

如果有人遇到此问题,请告知我们。

也是以完全权限共享跟踪文件的文件夹。

SELECT top 1 SAT = id, SAF = [Path] 
FROM sys.traces 
WHERE [path] like 'C:\AuditTrace\SA%' 
ORDER by id

运行上述语句后出错是通过Sql Agent进行的

  

以用户身份执行:dbo。您无权运行'SYS.TRACES'。 [SQLSTATE 42000](错误8189)。步骤失败了。

忘记提及此特定语句包含在存储过程中,该存储过程存在于除master之外的其他用户数据库中。

1 个答案:

答案 0 :(得分:0)

请尝试以下操作:

GRANT ALTER TRACE TO <user>

https://msdn.microsoft.com/en-us/library/cc293611.aspx

此外,请记住,必须设置用户permissions才能允许您这样做。