Cách tốt nhất để tăng không có phân vùng trong Bảng SQL Server


8

Tôi đang duy trì một cơ sở dữ liệu với một bảng lớn, được chia cho mỗi tháng. Hiện đã có hàng chục phân vùng ở đó nhưng đến tháng 1 năm 2013, đã đến lúc tạo phân vùng mới.

Ai đó có thể vui lòng tư vấn, cách tốt nhất để tạo số lượng phân vùng mới.

Tôi đang làm bước sau (Chưa làm)

  1. Từ SSMS, lấy các thuộc tính của Cơ sở dữ liệu và di chuyển đến tab Tệp.
  2. Nhấp vào nút Thêm ở dưới cùng bên phải để thêm một dòng mới.
  3. Đặt tên tệp mới (ví dụ: FN_DW_Archieve_2013_02)
  4. Đặt một tên hợp lý mới (ví dụ: LN_DW_Archieve_2013_02)
  5. Tạo một Filegroup mới bằng cách chọn trong danh sách thả xuống dưới ô filegroup. (ví dụ: FG_DW_Archieve_2013_02)
  6. Nhấn Ok

Điều này sẽ tạo ra một nhóm tập tin mới trong cơ sở dữ liệu của tôi.

Bây giờ vấn đề lớn nhất khiến tôi lo lắng là sửa đổi Hàm phân vùng và Lược đồ phân vùng. Chuyên gia nào khuyên tôi, tôi có thể bỏ và tạo lại chúng một lần nữa không, nó có ảnh hưởng đến dữ liệu hiện có của tôi không. Hoặc tôi có thể thay đổi chúng với phân vùng mới trong đó.

Cảm ơn trước.

Câu trả lời:


9

Nghe có vẻ như những gì bạn muốn làm là tạo ra một ranh giới mới cho việc triển khai phân vùng hiện có của bạn và điều này có thể được thực hiện thông qua ALTER PARTITION FUNCTION ... SPLIT RANGE ....

Bạn cũng sẽ cần phải chạy trước cái này ALTER PARTITION SCHEME ... NEXT USED ...để chỉ ra nhóm fileg tiếp theo sẽ giữ phân vùng mới (có một vài cảnh báo cho điều này, như được trích dẫn dưới đây). Dưới đây là trích dẫn của BOL về hoạt động này:

Một nhóm fileg phải tồn tại trực tuyến và được đánh dấu bởi sơ đồ phân vùng sử dụng chức năng phân vùng là TIẾP THEO SỬ DỤNG để giữ phân vùng mới. Các nhóm tập tin được phân bổ cho các phân vùng trong một câu lệnh TẠO PHẦN TẠO PHẦN. Nếu một câu lệnh TẠO PHẦN TẠO PHẦN TẠO phân bổ nhiều nhóm tệp hơn mức cần thiết (ít phân vùng được tạo ra trong câu lệnh TẠO CHỨC NĂNG TẠO PHẦN so với nhóm tệp để giữ chúng), thì có các nhóm tệp không được gán và một trong số chúng được đánh dấu TIẾP THEO bởi sơ đồ phân vùng. Filegroup này sẽ giữ phân vùng mới. Nếu không có nhóm fileg nào được đánh dấu TIẾP THEO SỬ DỤNG theo sơ đồ phân vùng, bạn phải sử dụng ALTER PHẦN MỀM để thêm một filegroup hoặc chỉ định một nhóm hiện có, để giữ phân vùng mới.


Vì vậy, đây là các chức năng phân vùng và sơ đồ phân vùng của tôi TẠO CHỨC NĂNG THAM GIA [Lưu trữ chức năng] (thời gian nhỏ) NHƯ RANGE CHO GIÁ TRỊ (N'2012-12-30T23: 59: 00.000 ', N'2013-01-31T23: 59: 00.000') GO TẠO CHƯƠNG TRÌNH PHẦN MỀM [ArchivePartitionScheme] NHƯ PHẦN THAM GIA [ArchivePartitionFemony] TO ([Archive_201212], [Archive_201602], [PRIMARY]) GO
Muhammad Sharjeel Ahsan

Khi tôi cố gắng sửa đổi lược đồ, kho lưu trữ tốt đẹp của nó ALTER PHẦN MỀM Lưu trữPartitionScheme TIẾP THEO Lưu trữ_201302 GO Nhưng chức năng thay đổi gây ra lỗi ALTER THAM GIA CHỨC NĂNG [Lưu trữ khởi động] () MERGE RANGE ('2013 / 02-28T23: 59: 00.000') giá trị không thể được tìm thấy.
Muhammad Sharjeel Ahsan

Trước hết, tại sao bạn làm MERGE? Tôi nghĩ bạn muốn phân vùng bổ sung. Ngoài ra, ranh giới phải tồn tại để thực hiện MERGE.
Thomas Stringer

Cảm ơn đã nhận nó, mã sau hoạt động tuyệt vời. ALTER PHẦN MỀM PHẦN MỀM Lưu trữPartitionScheme TIẾP THEO Lưu trữ_201302 GO CHỨC NĂNG THAM GIA [Lưu trữ khởi động] () SPLIT RANGE ('2013 / 02-28T23: 59: 00.000') GO
Muhammad Sharjeel Ahsan
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.