ホームページ > データベース > mysql チュートリアル > SQL Server 2012 の ID 列の値が 1001 までスキップされるのはなぜですか?

SQL Server 2012 の ID 列の値が 1001 までスキップされるのはなぜですか?

Patricia Arquette
リリース: 2025-01-06 17:32:43
オリジナル
760 人が閲覧しました

Why Are My SQL Server 2012 Identity Column Values Skipping to 1001?

SQL Server の ID 列の値が突然 1001 にスキップする: 説明

SQL Server 2012 で、ユーザーは ID 列の値が変更されるという興味深い問題に遭遇しました。値が連続パターンから突然ジャンプします (例: 1、2、 3) 大きな数値 (例: 1001、1002)。この現象の背後にある理由を理解するために、根本的な原因を詳しく調べてみましょう。

Microsoft は、SQL Server 2012 の ID 値の処理に変更を実装しました。この変更により、特に再起動後にレコード間に ID ギャップが生じる可能性があります。 SQL サーバー インスタンスまたはサーバー マシン自体。更新によるサーバーの自動再起動などの追加の要因も、これらの ID スキップの原因となる可能性があります。

この問題に対処するには、主に 2 つのオプションがあります:

  1. トレースフラグ 272: このトレース フラグを有効にすると、生成された ID 値ごとにログ レコードが生成されます。ただし、このトレース フラグは ID 生成のパフォーマンスに影響を与える可能性があることに注意することが重要です。
  2. NO CACHE を使用したシーケンス ジェネレーター: NO CACHE 設定でシーケンス ジェネレーターを使用すると、ギャップが発生しなくなります。

SQL Server でトレース フラグ 272 を有効にする2012

次の手順に従ってトレース フラグ 272 を有効にします:

  1. 「SQL Server 構成マネージャー」を開きます
  2. 左側の「SQL Server サービス」をクリックしますペイン
  3. SQL Server インスタンス名 (例: SQL Server) を右クリックします。 (MSSQLSERVER)) 右側のペインで
  4. 「プロパティ」を選択します
  5. 「起動パラメータ」をクリックします
  6. 「起動パラメータの指定」テキストボックスに「-T272」と入力します
  7. 「追加」をクリックします
  8. 確認します変更

以上がSQL Server 2012 の ID 列の値が 1001 までスキップされるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート