DBAtlas · データベース運用アトラス

2714: There is already an object named in the database(同名のオブジェクトがすでに存在する)

SQL Server

意味

作成しようとしたものと同じ名前のオブジェクト (テーブル、ビュー、プロシージャなど) がデータベースにすでに存在する。名前の衝突により CREATE 文が失敗した。

原因

同じ CREATE スクリプトの 2 回目の実行、既存オブジェクトを先に削除していない、異なるスキーマの想定、冪等でないデプロイ/マイグレーションスクリプト、または命名の衝突。

対処方法

先にオブジェクトの存在を確認する: IF OBJECT_ID('dbo.Name') IS NULL で条件付きで作成するか、CREATE OR ALTER を使う (プロシージャ/ビュー/関数の場合)。必要なら既存オブジェクトを DROP して作り直す。マイグレーションスクリプトは冪等に記述する。正しいスキーマ/データベースで作業していることを確認する。

DBAtlas で開く →

同じデータベースの他の項目