Error:  Failed to compress the database. Cannot insert the value NULL into column 'compress_id', table 'SDE.dbo.SDE_compress_log'; column does not allow nulls

相关信息
Article ID: 41402
Software:
ArcSDE 10, 10.1, 10.2
Platforms:
Windows Server 2003, Server 2008, Server 2012, Server 2008 R2

错误信息
In an SQL Server SDE geodatabase, the 'sde_compress_log' table displays in ArcCatalog after a compress is performed in ArcGIS for Desktop 10.1. If this table is already registered with a geodatabase, performing the compress on the geodatabase again produces the following error:

"Failed to compress the database. Underlying DBMS error [<name>: Cannot insert the value NULL into column 'compress_id', table 'SDE.dbo.SDE_compress_log'; column does not allow nulls. INSERT fails.][dbo.DEFAULT]"


错误原因
Before registering with the geodatabase, the compress_id column in the sde_compress_log table has its Identity set as 'True', so that newly inserted records have a unique identity value for the compress_id column.

When the sde_compress_log is registered with the geodatabase, the compress_id column is removed and added back in, but the Identity value is changed from 'True' to 'False'. When new records are inserted into the sde_compress_log table, the compress_id column value is null, which conflicts with the "not null" constraint.

已邀请:

EsriSupport

赞同来自:

解决方案
Delete or rename the sde_compess_log table. A new compress_log table is recreated in the next compress.




    创建及修改时间
    Created: 7/17/2013

    Last Modified: 5/8/2014
    原文链接
    http://support.esri.com/en/kno ... 41402

    要回复问题请先登录注册