dbcc checkcatalog checks and reports on a variety of issues.
For each row in sysindexes that maps to a range-, hash-, or list-partitioned table, there exists one row in sysobjects where sysindexes.conditionid equals sysobjects.id. dbcc checkcatalog also performs this check for each row in sysindexes that maps to a round-robin-partitioned table that has a partition condition.
For each row in sysindexes that maps to a range-, hash-, or list-partitioned table, there exists one or more rows in sysprocedures where sysindexes.conditionid equals sysprocedures.id. dbcc checkcatalog also performs this check for each row in sysindexes that maps to a round-robin-partitioned table that has a partition condition.
For each row in sysindexes that maps to a range-, hash-, or list-partitioned table, there exists one row in syspartitionkeys where the following conditions are true: sysindexes.id equals syspartitionkeys.id and sysindexes.indid equals syspartitionkeys.indid. dbcc checkcatalog also performs this check for each row in sysindexes that maps to a round-robin-partitioned table that has a partition condition.
For each row in sysindexes, there exists one or more rows in syspartitions where both of the following conditions are true: sysindexes.id equals syspartitions.id and sysindexes.indid equals syspartitions.indid.
For each row in sysobjects where type is N, there exists one row in sysindexes where sysindexes.conditionid equals sysobjects.id.
For each row in syspartitions, there exists a row in sysindexes where the following conditions are true: syspartitions.id equals sysindexes.id and syspartitions.indid equals sysindexes.indid.
For each row in syspartitionkeys, there exists a row in sysindexes where the following conditions are true: syspartitionkeys.id equals sysindexes.id and syspartitionkeys.indid equals sysindexes.indid.
For each row in syspartitions, there exists one row in syssegments where the following condition is true: syspartitions.segments equals syssegments.segment.
For each row in systabstats, there exists a row in syspartitions where the following conditions are true: syspartitions.id equals systabstats.id, syspartitions.indid equals systabstats.indid and syspartitions.partitionid equals systabstats.partitionid.
Text indexes (indid=255) do not have entries in systabstats.
For each row in sysstatistics, there exists a row in sysobjects where the following condition is true: sysstatistics.id equals sysobjects.id.
For each encryption key row in sysobjects, the SAP ASE server checks sysencryptkeys for a row defining that key.
For each column in syscolumns marked for encryption, the SAP ASE server verifies that a key-in sysobjects and sysencryptkeys.
The corresponding base key is present in sysencryptkeys for every key copy in sysencryptkeys. If the base key is not present, the SAP ASE server issues an error.
For every key copy, the corresponding uid is present in sysusers. If the uid is not present, the SAP ASE server issues an error.
For every decrypt default defined on a column, that the corresponding decrypt default is present in sysobjects and sysattributes. If the corresponding decrypt default is not present, the SAP ASE server issues an error.