sql >> データベース >  >> RDS >> Sqlserver

SQLサーバーでID列の値が突然1001にジャンプします

    Microsoftは、SQL Server 2012でID値を処理する方法を変更しました。その結果、SQLServerインスタンスまたはサーバーマシンを再起動した後のレコード間のIDギャップを確認できます。このIDギャップには他にもいくつかの理由がある可能性があります。これは、アップデートのインストール後のサーバーの自動再起動が原因である可能性があります。

    以下の2つの選択肢を使用できます

    • トレースフラグ272oを使用します。これにより、生成されたID値ごとにログレコードが生成されます。このトレースフラグをオンにすると、ID生成のパフォーマンスに影響が出る可能性があります。

    • NOCACHE設定のシーケンスジェネレーターを使用する

      ここで期待しているSQLServer2012でのトレースフラグ272の設定

    • 「SQLServer構成マネージャー」を開きます

    • 左側のペインで[SQLServerサービス]をクリックします

    • 右ペインでSQLServerインスタンス名を右クリック->デフォルト:SQL Server(MSSQLSERVER)

    • [プロパティ]をクリックします

    • [スタートアップパラメータ]をクリックします

    • [スタートアップパラメータを指定する]テキストボックスに「-T272」と入力します

    • [追加]をクリックします

    • 変更を確認します



    1. mysqlの同等のデータ型

    2. SQLServerコレクションインベントリスクリプト-2

    3. RMANコマンドがORA-00904で失敗する:「BS」。「GUID」:無効な識別子

    4. PostgreSQLで小数点以下がゼロ以外のレコードをフェッチする