まあ、それは本当にこれを行うための迅速で簡単な方法ではありません...
私のアプローチは次のようになります:
-
ID
を除いて同じ構造の新しいテーブルを作成します 列がBIGINT IDENTITY
INT IDENTITY
の代わりに----[ここでサーバーを排他的シングルユーザーモードにします。 ] ----
のこの時点から、ユーザーはサーバーを使用できません。 -
テーブルを参照するすべての外部キー制約を見つけて無効にします
-
SET IDENTITY_INSERT (your new table) ON
-
古いテーブルの行を新しいテーブルに挿入します
-
SET IDENTITY_INSERT (your new table) OFF
-
古いテーブルを削除する
-
新しいテーブルの名前を古いテーブル名に変更します
-
BIGINT
を使用するように、テーブルへのFK参照を持つすべてのテーブルを更新しますINT
の代わりに (これは、単純なALTER TABLE ..... ALTER COLUMN FKID BIGINT
で実行できるはずです。 ) -
すべての外部キー関係を再作成します
-
これで、サーバーを通常のマルチユーザー使用に戻すことができます