Tôi đang trong quá trình lập kế hoạch di chuyển trực tiếp cơ sở dữ liệu 2TB sang các bảng được phân đoạn. Hệ thống nói chung là một cửa hàng tài liệu, phần lớn không gian được phân bổ cho các LOB trong khoảng từ 50kb đến 500kb, với một tỷ lệ nhỏ trong phạm vi 500kb đến 1MB. Một phần của việc di chuyển sẽ liên quan đến dữ liệu BCPing từ cơ sở dữ liệu cũ sang mới.
BCP là cách tiếp cận ưa thích vì sự phân chia hiện tại / lịch sử trong dữ liệu cho phép trích xuất dữ liệu cũ theo các giai đoạn (trong giai đoạn yên tĩnh hơn) trước khi chuyển đổi cuối cùng, giảm thiểu tác động lên hệ thống trực tiếp. Khối lượng dữ liệu và tính sẵn có của bộ lưu trữ ngăn chặn việc xây dựng lại tại chỗ thành sơ đồ phân vùng .
Tôi nghi ngờ có thể có một số hiệu suất đạt được bằng cách thử nghiệm với KILOBYTES_PER_BATCH thay vì ROWS_PER_BATCH, do nội dung BLOB. Nó được đề xuất trong tài liệu BCP rằng SQL có thể tối ưu hóa các hoạt động dựa trên giá trị này.
Những gì tôi không thể tìm thấy là bất kỳ hướng dẫn nào về bản chất của những tối ưu hóa này hoặc nơi bắt đầu thử nghiệm của tôi. Trong phạm vi đề xuất, tôi sẽ thử chạy ngắn ở ranh giới 4/8/16 / 64mb để bắt đầu.
Có lẽ một số lợi ích là từ việc thay đổi kích thước gói (tham số BCP -a, thay vì cài đặt cấp độ máy chủ) nhưng tôi có xu hướng tăng mức này lên tối đa 65535 trừ khi bất kỳ ai có cách tiếp cận công thức hơn.