SQL Server で ID 列値が 1001 に予期せずジャンプする
SQL Server 2012 で、ユーザーは ID 列値の予期しないジャンプに遭遇しました。通常の連続番号からのこの逸脱は、次のような懸念を引き起こしています。
問題の理由
Microsoft は、SQL Server 2012 の ID 値の処理を変更しました。その結果、サーバーの再起動後にレコード間に ID ギャップが発生する可能性があります。 。その他の考えられる原因としては、更新後のサーバーの自動再起動が挙げられます。
解決策
この問題に対処するには、次の 2 つの主な解決策が利用可能です。
1 。トレース フラグ 272 を使用します:
トレース フラグ 272 は、生成されたすべての ID 値をログに記録します。この方法では問題を可視化できますが、ID 生成のパフォーマンスにも影響を与える可能性があります。
2. NO CACHE 設定でシーケンス ジェネレーターを作成する:
このメソッドは、キャッシュせずに ID 列の数値シーケンスを生成します。 NO CACHE を指定すると、サーバーの再起動がシーケンスに影響を与えず、連続的な番号付けが保証されます。
SQL Server 2012 でのトレース フラグ 272 の使用
トレース フラグ 272 を有効にするには、次の手順に従います:
以上がSQL Server 2012 の ID 列が 1001 にジャンプしたのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。