システム環境:
クライアントOS:Windows 11 Pro バージョン 23H2 OS ビルド 22631.3593
ACCESS:Microsoft Access for Microsoft 365 MSO (バージョン 2404 ビルド 16.0.17531.20152) 32 ビット
サーバーOS:Windows Server 2019 Standard (10.0)
データベース:Microsoft SQL Server Standard (64-bit) バージョン:15.0.4236.7
マージレプリケーション
上記の環境にて、一つのテーブルのみ、リンクテーブル作成時に主キーがDBで設定されているものから変わってしまいます。
テーブルの定義は以下のようになっており
TABLE [dbo].[KOUJYO](
[工場] [tinyint] NOT NULL,
[工場名] [varchar](16) NULL,
[fg] [varchar](3) NULL,
[rowguid] [uniqueidentifier] ROWGUIDCOL NOT NULL,
CONSTRAINT [PK_KOUJYO] PRIMARY KEY NONCLUSTERED
(
[工場] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
SQL Server Managemant Sudio上では[工場]がキーになっており
本来、リンクテーブルでも主キーが[工場]になるはずですが
何故かAccessにリンクした後のデザインビューで[工場]の主キーのマークが外れ、[rowguid]が主キーになります。
当該データベースのバックアップから復元してレプリケーションしないテストDBのテーブル(rouwguidを含まない)の更新時には主キーの変更は発生しません。
このDBはレプリケーションされており、他のレプリケーションされているテーブルにも[rowguid]が含まれますが
このテーブルだけがリンクテーブル更新時に主キーが変わってしまいます。
(※「更新プログラムによる不具合」箇所は「追記(2024/5/29)」に移動)
追記(2024/06/05):
ACCESS上は主キーが外れているように見えますが

主キーに登録済みの数値を入力するとしっかり制約が働いている事が分かりました

腑に落ちませんが、ACCESSのデザイン上は主キーが変わっているように見えて
SQL Server上の定義と同じなのかもしれません
過去同じような現象が起きている方はいるでしょうか?
追記(2024/5/29):
※更新プログラムによる不具合
- 今年3~4月くらいから発生している別の問題(VBAでTableDef.Connectを変更した後、TableDef.RefreshLinkした際に「主キーが既に存在します」エラーが発生する)の調査で今月になって発見しました
- ACCESSバージョンを最新にしてみましたが解決せず、ここから何を調べれば原因の解決に繋がるか分からない状態でフォーラムに投稿した次第です。 →ACCESSバージョンをロールバックするとRefreshLinkのエラーはなくなった。主キーが変わる問題は解決せず。