1

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

当我尝试通过 SQL Server 代理作业调用以下语句时失败,SQL Server 代理的服务帐户是管理员组的一部分,并且在服务器和 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 之外的另一个用户数据库中。

4

1 回答 1

0

请尝试以下方法:

GRANT ALTER TRACE TO <user>

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

另外,请记住,您的用户权限必须设置为允许您这样做。

于 2020-09-15T10:09:04.287 回答