2013-02-19 32 views
6

Hai cột mới đã được thêm vào bảng nguồn của chúng tôi trong khi CDC vẫn được bật trên bảng. Tôi cần các cột mới xuất hiện trong bảng CDC nhưng không biết phải làm theo quy trình nào để thực hiện việc này? Tôi đã vô hiệu hóa CDC trên bàn, tắt CDC trên DB, thêm các cột mới vào bảng cdc.captured_columns và bật CDC. Nhưng bây giờ tôi không nhận được dữ liệu trong bảng CDC!Bảng CDC không hoạt động sau khi thêm cột mới vào bảng nguồn

Có một số bảng CDC khác phải được cập nhật sau khi cột được thêm vào bảng nguồn không? Đây là tất cả các bảng CDC dưới thư mục System Bàn:

  • cdc.captured_columns < ----- nơi tôi đã thêm các cột mới
  • cdc.change_tables
  • cdc.dbo_myTable_CT < ---- - bàn nơi thay đổi dữ liệu đã bị bắt
  • cdc.ddl_history
  • cdc.index_columns
  • cdc.lsn_time_mapping
  • dbo.systranschemas

Trả lời

9

Tôi khuyên bạn nên đọc Tracking Changes in Your Enterprise Database. Rất chi tiết và sâu sắc. Trong số các thông tin cực kỳ hữu ích khác của thông tin, có như:

Thay đổi DDL không bị hạn chế trong khi thay đổi chụp dữ liệu được bật. Tuy nhiên, chúng có thể có một số ảnh hưởng đến dữ liệu thay đổi được thu thập nếu cột được thêm hoặc giảm. Nếu cột được theo dõi bị xóa, tất cả các mục nhập tiếp theo trong trường hợp chụp sẽ có NULL cho cột đó . Nếu cột được thêm vào, cột đó sẽ bị bỏ qua bởi trường hợp chụp . Nói cách khác, hình dạng của thể hiện chụp được đặt khi được tạo.

Nếu thay đổi cột được yêu cầu, có thể tạo một phiên bản chụp khác cho bảng (tối đa hai trường hợp chụp trên mỗi bảng) và cho phép người tiêu dùng dữ liệu thay đổi di chuyển sang lược đồ bảng mới.

Đây là thiết kế rất hợp lý và được suy nghĩ tốt cho rằng lược đồ trôi dạt (không phải tất cả người tham gia đều có thể cập nhật giản đồ đồng thời trong triển khai trực tuyến thực). Có một cách tiếp cận đa giai đoạn (triển khai DDL, nắm bắt CDC mới, nâng cấp người đăng ký, thả CDC cũ) là cách tiếp cận khả thi duy nhất và bạn nên làm theo.

+0

Tôi đã đọc nhưng hy vọng giữ được cùng một bảng CDC. Đây có phải là quy trình "chuẩn" được theo sau không? Và thả bảng CDC cũ sẽ không có ảnh hưởng xấu đến việc chụp? – knightscharge

+0

Tôi nghĩ câu trả lời của tôi đã bao gồm câu hỏi của bạn. –

+0

Có thể điều này được cập nhật hoặc gây hiểu lầm, nhưng [Tôi đã tìm thấy một số tài liệu] (https://msdn.microsoft.com/en-us/library/hh710064.aspx) đề xuất giá trị của các cột mới sẽ được theo dõi, nhưng không phải Ngoài ra - _ "Nếu một cột mới được thêm vào bảng theo dõi thay đổi, việc thêm cột không được theo dõi. Chỉ có các cập nhật và thay đổi được thực hiện cho cột mới được theo dõi." _ Tôi sẽ thử nó ... –

Các vấn đề liên quan