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?