将sqlaudit文件结果输出到文本文件 - TSQL

时间:2018-01-19 16:44:10

标签: sql sql-server tsql stored-procedures

有一个存储过程,假设从.sqlaudit文件中检索结果。

从结果中,我希望能够将其传输到.txt文件。

exec dbo.TEST @LoginName = 'TestUser', @EventStartTime = '2018-01-19 00:00:00'

这是我用来执行存储过程的参数:

BCP "SELECT * FROM fn_get_audit_file('R:\Audit\*', DEFAULT, DEFAULT)
                            WHERE session_server_principal_name in ('+ @LoginName +') AND 
                            event_time >= '+ CONVERT(VARCHAR(50),@EventStartTime) +'" QUERYOUT 'R:\Test.txt' -c -T -t '|' 

这是打印的@BCPSQL:

bananasArray

这是执行BCPSQL脚本后打印的消息:

enter image description here

关于为什么它没有将结果输出到文本文件的任何想法?

1 个答案:

答案 0 :(得分:0)

需要将所有内容都放在这样的线上:

BCP "SELECT * FROM fn_get_audit_file('R:\Audit\*', DEFAULT, DEFAULT) WHERE session_server_principal_name in ('+ @LoginName +') AND event_time >= '+ CONVERT(VARCHAR(50),@EventStartTime) +'" QUERYOUT 'R:\Test.txt' -c -T'