Di chuyển khóa chính sang Filegroup (SQL Server 2012)


14

Làm cách nào tôi có thể di chuyển khóa chính được nhóm sang một nhóm mới? Tôi đã tìm thấy một "thuật toán" có thể nhưng nó không hiệu quả khủng khiếp:

  1. Thả không được lập chỉ mục (yêu cầu chúng phải được sử dụng và xây dựng lại)
  2. Thả chỉ mục cụm (yêu cầu toàn bộ bảng phải được sử dụng)
  3. Tạo ràng buộc khóa chính mới (thao tác sắp xếp lớn)
  4. Tạo tất cả các chỉ mục không được nhóm (yêu cầu sắp xếp và viết)

Có cách nào hiệu quả hơn? Điều này là không hiệu quả khủng khiếp và sẽ mất nhiều thời gian vì bảng có kích thước 50GB trên một máy chủ yếu.

Không có cách nào để bỏ qua tất cả những điều này và chỉ cần xây dựng lại trên một tập đoàn mới? Điều đó sẽ không yêu cầu bất kỳ sắp xếp dữ liệu.

Câu trả lời:


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

Điều này bảo tồn thuộc tính PK hợp lý mặc dù nó không được đề cập trong cú pháp.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.