DBAtlas · 데이터베이스 운영 아틀라스

2714: There is already an object named in the database (데이터베이스에 같은 이름의 개체가 이미 있음)

SQL Server

의미

생성하려는 개체(테이블, 뷰, 프로시저 등)와 같은 이름의 개체가 데이터베이스에 이미 존재한다. 이름 충돌로 CREATE 문이 실패했다.

원인

같은 CREATE 스크립트를 두 번 실행, 기존 개체를 먼저 삭제하지 않음, 다른 스키마를 전제로 함, 멱등성이 없는 배포/마이그레이션 스크립트, 또는 이름 충돌.

해결 방법

먼저 개체 존재 여부를 확인한다. IF OBJECT_ID('dbo.Name') IS NULL로 조건부 생성하거나 CREATE OR ALTER를 사용한다(프로시저/뷰/함수). 필요하면 기존 개체를 DROP하고 다시 생성한다. 마이그레이션 스크립트는 멱등하게 작성한다. 올바른 스키마/데이터베이스에서 작업 중인지 확인한다.

DBAtlas에서 열기 →

같은 데이터베이스의 다른 항목