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

ALTER DATABASE AUDIT语法错误:添加CREATE/DROP到服务器审计失败求助

解决方案

错误原因是SQL Server的数据库审计规范不支持直接使用CREATE或DROP作为通用动作,必须指定具体的对象类型,或者使用预定义的审计动作组。

方法一:针对具体对象类型添加审计

如果你需要监控特定类型对象的创建和删除(比如表、存储过程),可以按以下方式修改语句:

ALTER DATABASE AUDIT SPECIFICATION Powercash_Audit
    FOR SERVER AUDIT PowercashAudit
    -- 监控dbo架构下的表创建/删除
    ADD (CREATE TABLE ON SCHEMA::dbo BY PUBLIC),
    ADD (DROP TABLE ON SCHEMA::dbo BY PUBLIC),
    -- 监控dbo架构下的存储过程创建/删除
    ADD (CREATE PROCEDURE ON SCHEMA::dbo BY PUBLIC),
    ADD (DROP PROCEDURE ON SCHEMA::dbo BY PUBLIC)
    WITH (STATE = ON);
GO

你可以根据实际需求添加其他对象类型,比如VIEW、FUNCTION等。

方法二:使用预定义审计动作组

如果需要监控dbo架构下所有对象的创建、修改、删除操作,直接使用SCHEMA_OBJECT_CHANGE_GROUP动作组更高效:

ALTER DATABASE AUDIT SPECIFICATION Powercash_Audit
    FOR SERVER AUDIT PowercashAudit
    ADD (SCHEMA_OBJECT_CHANGE_GROUP)
    WITH (STATE = ON);
GO

这个动作组会自动捕获架构级对象的所有变更操作,包括CREATE、DROP、ALTER。

内容的提问来源于stack exchange,提问作者Alexandre Barrère

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 12:33:05