기본 키를 파일 그룹으로 이동 (SQL Server 2012)


14

클러스터 된 기본 키를 새 파일 그룹으로 옮기려면 어떻게해야합니까? 이미 가능한 "알고리즘"을 찾았지만 끔찍하게 비효율적입니다.

  1. 비 클러스터형 인덱스를 삭제 (리조트 및 재 구축해야 함)
  2. 클러스터형 인덱스 삭제 (전체 테이블을 사용해야 함)
  3. 새로운 기본 키 제약 조건 만들기 (거대한 정렬 작업)
  4. 비 클러스터형 인덱스를 모두 만듭니다 (정렬 및 쓰기 필요)

더 효율적인 방법이 있습니까? 이것은 약한 비효율적이며 약한 서버에서 테이블 크기가 50GB이므로 시간이 오래 걸립니다.

이 모든 것을 건너 뛰고 새 파일 그룹에서 다시 작성하는 방법이 없습니까? 데이터 정렬이 필요하지 않습니다.

답변:


24
CREATE UNIQUE CLUSTERED INDEX Your_PK_Name
    ON YourTable(YourColumnList)
WITH (DROP_EXISTING =  ON )
ON [YourOtherFileGroup]

이것은 구문에서 언급되지 않았음에도 불구하고 논리적 PK 속성을 유지합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.