You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Set-AzSqlServerAudit排除Azure SQL Server审计日志中的Select语句

Azure SQL Server审计排除Select语句的配置错误分析

你的配置主要存在三个核心问题:

  • 逻辑运算符错误:你使用了or作为条件连接符,这会导致所有语句都被审计记录。因为对于任意一条SQL语句,要么不匹配第一个模式,要么不匹配第二个模式,整个表达式永远为真,相当于没有任何过滤效果。要排除符合条件的语句,必须使用and来同时满足多个排除条件。

  • 匹配语法错误:<> 是精确不等于判断,而你需要匹配的是包含select的模糊模式,应该使用NOT LIKE配合通配符%来实现模糊排除。另外如果需要忽略大小写,可以用LOWER(statement)统一转小写后匹配,或者指定排序规则区分大小写。

  • 引号格式错误:第二个命令里混用了中文引号(“、‘),PowerShell无法识别中文引号,必须统一使用英文双引号或单引号,嵌套引号时要正确转义(比如在双引号内用单引号,或用反引号\转义)。

正确配置示例

如果要排除所有包含select(不区分大小写)的语句,可使用以下命令:

Set-AzSqlServerAudit -ResourceGroupName "myresourcegroup" -ServerName "mysqlserver" -PredicateExpression "LOWER(statement) NOT LIKE '%select%'"

如果需要精准排除特定模式的语句(比如sp_executesql调用的select语句和直接的SELECT 1开头语句),正确逻辑的命令如下:

Set-AzSqlServerAudit -ResourceGroupName "myresourcegroup" -ServerName "mysqlserver" -PredicateExpression "statement NOT LIKE 'exec sp_executesql N%select%' AND statement NOT LIKE 'SELECT 1%'"

内容的提问来源于stack exchange,提问作者arthus

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 16:44:52