Bạn không cần phải phân vùng (nhưng có thể nếu bạn có lý do khác). Nếu bạn tạo một nhóm tệp mới chứa các tệp vật lý mà bạn muốn và xây dựng lại chỉ mục trên nhóm tệp mới, điều đó là đủ để trải rộng dữ liệu trên các tệp vật lý đó.
Quá trình xây dựng lại sẽ giống như thế này. Giả sử chỉ mục hiện tại có định nghĩa sau:
tạo chỉ mục nhóm [CIX_foo] trên dbo.foo (FooID) trên [PRIMARY];
Bạn có thể xây dựng lại nó như thế này:
tạo chỉ mục nhóm [CIX_foo] trên dbo.foo (FooID) với (drop_current = on) trên [NewFileGroup];
Sử dụng bất kỳ tùy chọn nào khác mà bạn thường sử dụng để tạo chỉ mục đó (ví dụ: sort_in_tempdb, pad_index, trực tuyến, có thể tiếp tục lại, v.v.).Ngoài ra, hãy xem xét liệu việc thay đổi cài đặt nén của chỉ mục hiện tại có hợp lý hay không - bạn đang viết lại toàn bộ chỉ mục nên bây giờ sẽ là lúc!
Cuối cùng, theo khuyến nghị, tôi nên tạo ít nhất hai tệp trên mỗi ổ đĩa trong nhóm tệp mới. Tại sao? Nếu SWAG gồm 8 tệp (và có lẽ là 8 ổ đĩa) không đủ cho trường hợp sử dụng của bạn, bạn sẽ phải thực hiện lại quy trình xây dựng lại chỉ mục ở trên. Nhưng nếu bạn làm như vậy, giả sử hai tệp trên mỗi ổ đĩa (tổng cộng là mười sáu), bạn có thể cung cấp bộ lưu trữ mới và chỉ thực hiện sao chép tệp hệ thống tệp (trong khi db đang ngoại tuyến) hoặc khôi phục chỉ định vị trí mới. Một trong hai cách đó sẽ nhanh hơn việc xây dựng lại các chỉ mục.