如何在SQL Server 2019审计日志中捕获OS/CLI命令?
SQL Server 2019 捕获OS/CLI命令(如sqlcmd)的审计事件组配置
针对用sqlcmd这类OS/CLI工具执行的SQL操作,你需要启用以下几个审计事件组来覆盖场景:
TSQL_Completed:所有完成的Transact-SQL语句都会被捕获,不管是sqlcmd交互式输入的单条查询,还是通过脚本文件执行的命令,都能在sqlaudit文件中查到。TSQL_Batch_Completed:专门追踪批量执行的TSQL操作——比如你用sqlcmd运行整个SQL脚本时,这个事件组会记录完整的批处理内容,方便排查批量CLI操作。Login/Logout:这组事件不直接记录SQL命令,但能关联sqlcmd会话的创建和结束,帮你溯源CLI操作的发起方和会话周期。Database_Command:如果sqlcmd里执行了USE、BACKUP这类数据库级命令,这个事件组会专门捕获这类操作。
配置注意点:
- 把这些事件组添加到你的服务器审计规范里,确保审计日志正常输出到
sqlaudit文件。 - 如果需要更细粒度的控制,还可以搭配对象级审计规范,针对特定登录账号或数据库过滤记录。
内容的提问来源于stack exchange,提问作者Shivam Anand
相关产品推荐
相关产品推荐

