다음을 통해 공유


기본 키 만들기

적용 대상: SQL Server 2016(13.x) 이상 버전 Azure SQL DatabaseAzure SQL Managed InstanceMicrosoft Fabric

SQL Server에서는 SQL Server Management Studio 또는 Transact-SQL을 사용하여 기본 키를 삭제할 수 있습니다.

기본 키를 삭제하면 해당 인덱스가 삭제됩니다. 이 인덱스가 테이블의 클러스터형 인덱스일 수 있으므로 테이블이 힙이 될 수 있습니다. 자세한 내용은 힙(클러스터형 인덱스가 없는 테이블)참조하세요. 대부분의 테이블에는 클러스터형 인덱스가 있어야 합니다. 기본 키를 다시 만들려면 기본 키 만들기 참조하세요.

기본 키는 다른 테이블의 외래 키에서 참조할 수 있습니다. 외래 키에서 참조하는 경우 먼저 참조하는 외래 키를 삭제한 다음 기본 키를 삭제해야 합니다. 자세한 내용은 기본 및 외래 키 제약 조건참조하세요.

사용 권한

테이블에 대한 ALTER 권한이 필요합니다.

SQL Server Management Studio 사용

개체 탐색기를 사용하여 기본 키 제약 조건 삭제

  1. 개체 탐색기에서 기본 키가 포함된 테이블을 확장한 후 를 확장합니다.

  2. 키를 마우스 오른쪽 단추로 클릭하고 삭제를 선택합니다.

  3. 개체 삭제 대화 상자에서 올바른 키가 지정되었는지 확인하고 확인을 선택합니다.

테이블 디자이너를 사용하여 기본 키 제약 조건 삭제

  1. 개체 탐색기에서 기본 키가 있는 테이블을 마우스 오른쪽 단추로 클릭하고 디자인을 선택합니다.

  2. 테이블 표에서 기본 키가 있는 행을 마우스 오른쪽 단추로 클릭하고 기본 키 제거 를 선택하여 기본 키 설정 또는 해제 여부를 전환할 수 있습니다.

    참고

    이 작업을 실행 취소하려면 변경 내용을 저장하지 않고 테이블을 닫습니다. 기본 키 삭제는 테이블에 대한 다른 모든 변경 내용을 손실하지 않고 실행 취소할 수 없습니다.

  3. 파일 메뉴에서 ‘테이블 이름’ 저장을 선택합니다.

Transact-SQL 사용

기본 키 제약 조건 삭제

  1. 개체 탐색기에서 데이터베이스 엔진인스턴스에 연결합니다.

  2. 표준 도구 모음에서 새 쿼리를 선택합니다.

  3. 다음 예시를 복사하여 쿼리 창에 붙여넣고 실행을 선택합니다.

    • 먼저 기본 키 제약 조건의 이름을 식별해야 합니다.

      USE AdventureWorks2022;
      GO
      
      -- Return the name of primary key.
      SELECT name
      FROM sys.key_constraints
      WHERE type = 'PK'
          AND OBJECT_NAME(parent_object_id) = N'TransactionHistoryArchive';
      GO
      
    • DROP 스크립트를 만들려면 이전 쿼리의 결과를 사용합니다. 올바른 값으로 <primary-key-constraint>을 바꾸십시오. PK_TransactionHistoryArchive_TransactionID유사할 수 있습니다.

      ALTER TABLE Production.TransactionHistoryArchive
          DROP CONSTRAINT <primary-key-constraint>;
      GO