首页 > 解决方案 > 在 SQL Server 2008 SP1 中创建审核

问题描述

我正在尝试跟踪 SQL Server 2008(Service Pack 1,开发人员版)中一对表的插入和更新,当我尝试查看日志时它返回错误。

这是我使用向导创建审核时的脚本:


    USE [master]
    GO

    CREATE SERVER AUDIT [Audit-Tables]
    TO FILE 
    (   FILEPATH = N'C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\Log\'
        ,MAXSIZE = 20 MB
        ,MAX_ROLLOVER_FILES = 5
        ,RESERVE_DISK_SPACE = OFF
    )
    WITH
    (   QUEUE_DELAY = 1000
        ,ON_FAILURE = CONTINUE
        ,AUDIT_GUID = '53cd958f-5b16-49d9-8cb2-4c7f26995f87'
    )
    ALTER SERVER AUDIT [Audit-Tables] WITH (STATE = ON)
    GO

当我尝试查看日志时,出现错误:

无法将“System.Int64”类型的对象转换为“System.Byte[]”类型。

这甚至在我添加任何数据库审计之前。

我首先在开发服务器(SQL Server 2012)上试用了它,它运行良好。这是 2008 年的已知问题吗?

标签: sql-server-2008

解决方案


根据这篇文章,审计在 2008 年可用,但仅适用于企业版,而不适用于开发人员。我只是希望错误消息更有用。


推荐阅读