Share via

Checkdb error with SQL Graph EDGE constraint..

Louis Davidson 41 Reputation points
2022-01-25T20:09:26.417+00:00

With just the following basic graph setup, running on SQL Server 2019 CU 14 (and several earlier CUs on other test machines): I get a checkdb error 8992 on the sysmultiobjrefs for the constraint.

SELECT @@VERSION
GO
USE master
GO
DROP DATABASE identityHub
GO
CREATE DATABASE identityHub
GO
USE identityHub
GO

CREATE SCHEMA identityGraph
GO

CREATE TABLE [IdentityGraph].[ToastContact](
[ToastContactId] [uniqueidentifier] NOT NULL
)
AS NODE
GO

CREATE TABLE [IdentityGraph].[MarketingContact](
[MarketingContactId] [int]
)

AS NODE
GO

CREATE TABLE [IdentityGraph].[MarketingLink]
AS EDGE
GO

ALTER TABLE [IdentityGraph].[MarketingLink] ADD CONSTRAINT [ECNodes$LinkedTo$MarketingContact] CONNECTION (IdentityGraph.[MarketingContact] To IdentityGraph.[ToastContact])
GO

Version Output:

Microsoft SQL Server 2019 (RTM-CU14) (KB5007182) - 15.0.4188.2 (X64)
Nov 3 2021 19:19:51
Copyright (C) 2019 Microsoft Corporation
Developer Edition (64-bit) on Windows Server 2016 Standard 10.0 <X64> (Build 14393: ) (Hypervisor)
``----------

When I run DBCC CHECKDB::

Error MessageText


8992 Check Catalog Msg 3851, State 1: An invalid row (class=28,depid=629577281,depsubid=1,indepid=581577110,indepsubid=1) was found in the system table sys.sysmultiobjrefs (class=28).
8992 Check Catalog Msg 3851, State 1: An invalid row (class=28,depid=629577281,depsubid=1,indepid=597577167,indepsubid=0) was found in the system table sys.sysmultiobjrefs (class=28).
8992 Check Catalog Msg 3858, State 1: The attribute (type=EC) of row (object_id=629577281) in sys.objects has an invalid value.

Bug?

Developer technologies | Transact-SQL
Developer technologies | Transact-SQL

A Microsoft extension to the ANSI SQL language that includes procedural programming, local variables, and various support functions.

SQL Server | Other
SQL Server | Other

Additional SQL Server features and topics not covered by specific categories

0 comments No comments

Answer accepted by question author

  1. Erland Sommarskog 134K Reputation points MVP Volunteer Moderator
    2022-01-25T22:20:25.807+00:00

    Yes, I got the same error as you Louis. I guess you know the procedures. File a bug on the feedback site, if you can live with it. Open a support case if it is a blocking issue.

    Was this answer helpful?


3 additional answers

Sort by: Most helpful
  1. Arvind Shyamsundar [MSFT] 1 Reputation point Microsoft Employee
    2022-04-20T20:29:43.007+00:00

    Thank you for your patience. The issue has been addressed and a fix is included in Cumulative Update 16 (CU16) for SQL Server 2019: https://support.microsoft.com/en-us/topic/kb5011644-cumulative-update-16-for-sql-server-2019-74377be1-4340-4445-93a7-ff843d346896#bkmk_14558430

    After installation of CU16, there are no additional steps needed. Subsequent execution of DBCC CHECKCATALOG or DBCC CHECKDB will no longer report those incorrect errors.

    If there are any further questions, please let us know.

    Was this answer helpful?

    0 comments No comments

  2. Arvind Shyamsundar [MSFT] 1 Reputation point Microsoft Employee
    2022-01-26T17:34:14.193+00:00

    Sorry for the trouble. Unfortunately, this is a known issue with CHECKDB and graph edge constraints, which leads to the errors being (incorrectly) raised. There is no "real" corruption in this case. A fix for this issue will be available in an upcoming cumulative update. I will update this thread when we have released the fix publicly.

    Was this answer helpful?

    0 comments No comments

  3. Tom Phillips 17,786 Reputation points
    2022-01-25T20:47:45.297+00:00

    Run checkdb on your model database. When you create a new database, it copies the model db to the new db.

    See:
    https://learn.microsoft.com/en-us/sql/relational-databases/databases/rebuild-system-databases?view=sql-server-ver15#RebuildProcedure

    Was this answer helpful?


Your answer

Answers can be marked as 'Accepted' by the question author and 'Recommended' by moderators, which helps users know the answer solved the author's problem.