SQL Server 2012 の列 ID の増分が 7 番目のエントリで 6 から 1000 以上にジャンプする [重複] 質問する

SQL Server 2012 の列 ID の増分が 7 番目のエントリで 6 から 1000 以上にジャンプする [重複] 質問する

SQL Server 2012 データベースの自動 ID の int 列が適切に増加しないという奇妙なシナリオがあります。

たとえば、int 自動 ID を主キーとして使用するテーブルがあり、そのテーブルで増分が散発的にスキップされているとします。次に例を示します。

1、2、3、4、5、1004、1005

これはランダムな数のテーブルで非常にランダムな時間に発生しており、これを再現して傾向を見つけることはできません。

なぜこんなことが起きているのでしょうか? これを止める方法はあるのでしょうか?

ベストアンサー1

これはすべて完全に正常です。Microsoft はsequencesSQL Server 2012 で、最後に ID キーの生成方法を変更しました。ご覧ください。ここ説明のために。

以前の動作に戻したい場合は、次の操作を実行できます。

  1. トレース フラグ 272 を使用します。これにより、生成された ID 値ごとにログ レコードが生成されます。このトレース フラグをオンにすると、ID 生成のパフォーマンスが影響を受ける可能性があります。
  2. シーケンスジェネレータをNO CACHE設定で使用する(http://msdn.microsoft.com/en-us/library/ff878091.aspx

おすすめ記事