現象
Linux の SQL Server 2017 でテーブルの一意の GUID を生成するには、 NEWSEQUENTIALID () 関数を使用することを前提とします。 SQL Server を再起動した後、 NEWSEQUENTIALID () 関数は、この関数によって生成された以前の guid と重複している guid を生成する可能性があります。
詳細情報
Linux の SQL Server は、 /var/opt/mssql/.system/instance_id のシーケンシャルな UUID シードを保存して、起動時にインクリメントします。 システム障害が発生した場合に備えて、 instance_id ファイルのバックアップを取ります。 ファイルが失われた場合は、シードが失われ、新しいシードが再生成されます。 初期のシード生成はランダムビットパターンと UUID に基づいて行われ、コリジョンは発生しません。 ただし、シーケンシャルな順序にする必要がある新しいシードは、シードが失われた後で順番に並んでいない場合があります。
解決方法
この問題は、SQL Server の次の累積的な更新プログラムで修正されています。
SQL Server 用の新しい累積更新プログラムには、以前の累積的な更新プログラムに含まれていたすべての修正プログラムとすべてのセキュリティ修正が含まれています。 SQL Server の最新の累積的な更新プログラムを確認します。
状態
マイクロソフトでは、この問題をこの資料の対象製品として記載されているマイクロソフト製品の問題として認識しています。
関連情報
ソフトウェアの更新を説明するために Microsoft が使用する 用語について説明します。