Sql server 是否使用sys.dm_server_audit_status和sys.fn_get_audit_file方法加载所有审核文件?

Sql server 是否使用sys.dm_server_audit_status和sys.fn_get_audit_file方法加载所有审核文件?,sql-server,Sql Server,我正在尝试加载SELECT*FROM sys.dm_server_audit_status中列出的所有审核日志,然后对查询中找到的所有文件执行sys.fn_get_audit_file方法 可能吗?可能类似于sp\u MSforeachtable?sys.fn\u get\u audit\u file的定义确定“file\u pattern”参数可以包括通配符 如果您将所有审核都放在一个公共文件夹中,然后按下面的审核进行拆分,那么您可以包含足够多的路径来包含所有审核 否则,只需查询它们并UNIO

我正在尝试加载
SELECT*FROM sys.dm_server_audit_status
中列出的所有审核日志,然后对查询中找到的所有文件执行
sys.fn_get_audit_file
方法


可能吗?可能类似于
sp\u MSforeachtable

sys.fn\u get\u audit\u file的定义确定“file\u pattern”参数可以包括通配符

如果您将所有审核都放在一个公共文件夹中,然后按下面的审核进行拆分,那么您可以包含足够多的路径来包含所有审核


否则,只需查询它们并
UNION
结果。

使用通配符,我将必须输入一个固定路径。我需要在任何文件位置都能工作的东西使用查询中的值并构建一个动态SQL查询,它允许您调整和添加通配符这是动态SQL允许的-构建查询字符串,然后执行它。一旦您定义了步骤扫描并提供了一个示例,它就不需要额外的输入了?这假设您只有一个审计文件。通过使用光标移动sys.dm_server_audit_status
DECLARE@quey NVARCHAR(max)返回的每个值,将其调整为多个值;声明@path NVARCHAR(最大值);从sys.dm_server_audit_status中选择@path=audit_file_path;选择@path=SUBSTRING(@path,1,);从sys.fn\u get\u audit\u文件(“+@path+N'\*,NULL,NULL)”中选择@query=N'SELECT*;EXEC sp_executesql@query我现在不在计算机前,但您能否使用
交叉应用
将审计状态DMV的结果提供给get results函数?