主キー制約に列がないテーブルがあります。SQL Serverで編集するのではなく、これをスクリプトに入れて、更新スクリプトの一部として追加したいと思います。
これを行うためにどの構文を使用できますか?キー制約を削除して再作成する必要がありますか?
主キー制約に列がないテーブルがあります。SQL Serverで編集するのではなく、これをスクリプトに入れて、更新スクリプトの一部として追加したいと思います。
これを行うためにどの構文を使用できますか?キー制約を削除して再作成する必要がありますか?
はい。唯一の方法は、Alter テーブルで制約を削除してから再作成することです。
ALTER TABLE <Table_Name>
DROP CONSTRAINT <constraint_name>
ALTER TABLE <Table_Name>
ADD CONSTRAINT <constraint_name> PRIMARY KEY (<Column1>,<Column2>)
PRIMARY KEY CONSTRAINT
変更することはできません。ドロップして再度作成することしかできません。大きなデータセットの場合、実行時間が長くなり、テーブルが使用できなくなる可能性があります。
パフォーマンスに関しては、削除および作成時に再更新されるため、この間非クラスター化インデックスを保持する意味はありません。ビッグ データ セットの場合は、テーブルの名前を変更することを検討する必要があります (可能であれば、セキュリティ設定はありますか?)、正しいキーを使用して空のテーブルを再作成すると、そこにすべてのデータが移行されます。これに十分なスペースがあることを確認する必要があります。