著作権:コピー、ソースを明記してくださいhttps://blog.csdn.net/weixin_39392627/article/details/86654871
ENV:のWindows Server 2016
SQL Server 2012のSP1
友人が最近、私に質問をし、アイデンティティの問題ジャンプの後、SQL Serverサービスが再起動されます。
私は、再起動サービスリセットの前に番号を見つけるために、スクリプトを使用することですが、マルチテーブルの時にこの方法は大きな負担であることを覚えているが発生しているSQL Serverの2008R2を覚えています。
トレースフラグ272は溶液です。
1.テスト用DBを作成します。
コマンド:
CREATE DATABASE [TBTEST02]
CONTAINMENT = NONE
ON PRIMARY
( NAME = N'TBTEST02', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL11.SQL2012\MSSQL\DATA\TBTEST02.mdf' , SIZE = 4096KB , FILEGROWTH = 1024KB )
LOG ON
( NAME = N'TBTEST02_log', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL11.SQL2012\MSSQL\DATA\TBTEST02_log.ldf' , SIZE = 1024KB , FILEGROWTH = 10%)
GO
2.データとテストテーブルを作成します。
コマンド:
CREATE TABLE dbo.TEST01 (id int identity, name varchar(20))
insert into dbo.TEST01(name) values('john'),('mary')
select * from dbo.TEST01
3.身元情報を確認します
コマンド:
dbcc checkident('TEST01', NORESEED)
ID値は現在2であります
4. SQL Serverサービス、および新しいテスト・データの追加を再起動します。
コマンド:
insert into dbo.TEST01(name) values('sean'),('larry')
select * from dbo.TEST01
スキップ条件が再起動した後に発生します
5.テストトレースフラグ272は、起動パラメータに追加され、SQL Serverサービスを再起動します
6.チェック開始ID値
コマンド:
dbcc checkident('TEST01', NORESEED)
identitt値1003
7.テストデータを増やします
コマンド:
insert into dbo.TEST01(name) values('sean'),('larry')
select * from dbo.TEST01
アイデンティティの設定値1004、1005
複数のテーブルがある場合アイデンティティジャンプ数の問題を抱えている、トレースフラグは良い選択かもしれブートパラメータが有効となります内側に、配置する必要があります。
またはスクリプトの再セットの使用