Sử dụng Change Tracking trong SQL Server 2008 (Phần 3)

So sánh Data Change Capture và Change Tracking
SQL Server 2008 giới thiệu hai tính năng theo dõi sự thay đổi dữ liệu, cho phép các ứng dụng xác định những thay đổi gây ra bởi các hoạt động DML (Thêm, sửa, xóa) đã được thực hiện cho các bảng người dùng trong cơ sở dữ liệu. Trước khi các tính năng này được cung cấp, nhà lập trình phải tự tạo ra các cơ chế dùng để theo dõi sự thay đổi dữ liệu bên trong các ứng dụng. Những cơ chế này thường kéo theo phải thay đổi lược đồ (schema) của bảng cần theo dõi hoặc phải sử dụng trigger. Tuy nhiên với hai tính năng được cung cấp với SQL 2008 này thì không cần phải thực hiện các biện pháp trên.

Đọc thêm »

Sử dụng Change Tracking trong SQL Server 2008 (Phần 1)

Vấn đề:
Bài trước đã nói về sử dụng và cấu hình Change Data Capture, trong bài này, chúng ta tiếp tục nghiên cứu tiếp một tính năng nữa là Change Tracking.
Change Tracking là một tính năng nhỏ cung cấp cơ chế đồng bộ dữ liệu giữa các bảng người dùng trong các ứng dụng.
Change Tracking cho phép ứng dụng chỉ nhận những thay đổi ròng (net changes) đã làm trên các bảng người dùng, cùng với các thông tin về những sự thay đổi đó.  Điều này có nghĩa là nếu một bản ghi được chỉnh sửa hơn 1 lần, thì CT chỉ theo bảo trì và lưu trữ về sự thay đổi cuối cùng.
Với việc Change Tracking được tích hợp vào SQL Server 2008, các lập trình viên sẽ không còn phải xây dựng các giải pháp phức tạp mà ở đó họ phải viết hàng ngàn câu lệnh (như sử dụng trigger, cột timestamp, và viết code để dọn dẹp thông tin lưu trữ)  trong các bản SQL trước để theo dõi sự thay đổi dữ liệu nữa. Việc này đã có SQL Server làm thay.
Change Tracking một khối xây dựng quan trọng cho các ứng dụng đồng bộ hóa sao chép dữ liệu trong các tình huống mà ở đó các giải pháp đồng bộ dữ liệu khác không làm việc (hoặc không thể làm việc) cần một giải pháp tùy chỉnh theo ý nhà phát triển. Ví dụ, một kịch bản yêu cầu đồng bộ hóa dữ liệu từ các kho dữ liệu không phải trên cơ sở dữ liệu SQL Server hoặc trong trường hợp lược đồ của các kho dữ liệu lưu trữ là rất khác nhau.
Trong bài này, chúng ta sẽ tìm hiểu chi tiết Change Tracking là gì, nó làm việc như thế nào, cách cấu hình, một tình huống có thể dùng Change Tracking, và nó khác gì so với CDC.
Change Tracking có trong tất cả các phiên bản của SQL Server 2008.

Đọc thêm »

Sử dụng Change Data Capture trong SQL Server 2008

Vấn đề:
Change Data Capture là một tính năng mới trong SQL Server, nó được thiết kế để “chụp” lại các hoạt động như Insert, Update, Delete áp dụng trên các bảng dữ liệu trong Sql Server. Và làm cho thông tin chi tiết về các sự thay đổi có sẵn trong những định dạng liên quan có thể sử dụng một cách đơn giản.
Một ví dụ tốt về tính năng này có thể được sử dụng trong việc thực hiện cập nhật định kỳ vào một kho dữ liệu.
Một trong những yêu cầu của quá trình trích xuất (Etrack), chuyển đổi (Transform), và tải dữ liệu (Load) gọi tắt là ETL là cập nhật các dữ liệu đã được thay đổi kể từ lần cuối cùng mà quá trình ETL chạy. Trước khi có CDC, chúng ta làm việc này đơn giản bằng cách truy vấn lần thay đổi cuối cùng từ cột LastUpdate trong bảng dữ liệu nguồn để nhận diện dòng dữ liệu nào đã được thay đổi, mặc dù phương pháp này cũng khá hiệu quả, tuy nhiên nó lại không thể được sử dụng cho việc nhận biết là các dòng dữ liệu nào đã được xóa, thêm vào đó, chúng ta cũng không thể biết là cái gì đã được thay đổi khi nào, chúng ta chỉ đơn giản là truy xuất được trạng thái hiện tại của các dòng đã được nhận diện là có thay đổi. CDC cung cấp giải pháp để giải quyết các vấn đề đã đặt ra ở trên và còn hơn thế nữa.
Change Data Capture chỉ có trên các phiên bản: Enterprise, Developer và Evaluation.

Đọc thêm »