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

tSQLt安装失败:执行PrepareServer.sql遇AuditLogDDL对象不存在错误求助

解决tSQLt PrepareServer.sql执行时的AuditLogDDL对象不存在错误

问题分析

错误提示表明AuditLogDDLEvents存储过程在尝试访问AuditLogDDL表时,该表尚未创建或不存在。通常是脚本执行顺序异常、之前的执行中断导致表创建语句未完成,或是权限不足导致表无法创建。

修复步骤

  • 手动创建缺失的AuditLogDDL表
    先执行以下SQL语句创建表,确保结构正确:

    CREATE TABLE AuditLogDDL (
      EventType NVARCHAR(100),
      EventTime DATETIME,
      LoginName NVARCHAR(100),
      SchemaName NVARCHAR(100),
      ObjectName NVARCHAR(100),
      ObjectType NVARCHAR(100),
      EventData XML
    );
    

    若表已存在但存储过程仍报错,检查是否在正确数据库下执行,或在存储过程中使用表的完整名称(如[dbo].[AuditLogDDL])。

  • 重新执行脚本关键部分
    找到PrepareServer.sql中创建AuditLogDDL表的段落,确认该语句执行成功后,再执行创建AuditLogDDLEvents存储过程的部分。若之前脚本执行中断,可从表创建语句开始重新执行剩余内容。

  • 检查执行权限
    确保执行脚本的账号拥有CREATE TABLE和CREATE PROCEDURE权限,以及目标数据库的修改权限。权限不足时,切换至管理员账号(如sa)执行脚本。

  • 验证对象状态
    执行以下语句确认表和存储过程是否存在:

    SELECT * FROM sys.tables WHERE name = 'AuditLogDDL';
    SELECT * FROM sys.procedures WHERE name = 'AuditLogDDLEvents';
    

    若表不存在则先创建;若存储过程存在但引用错误,可删除后重新创建该存储过程。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.08 13:47:06