Microsoft Visual Studio SQL Data Tools cung cấp chức năng cho phép bạn so sánh cấu trúc của các bảng, thủ tục, view và các đối tượng khác trong CSDL. Có nhiều khi bạn muốn so sánh sự khác nhau giữa 2 CSDL. Ví dụ so sánh 2 CSDL ở môi trường Development và Production với nhau.
Hãy cùng xem qua một kịch bản sử dụng Schema Comparison. Ta có 2 CSDL gọi là Database1 và Database2 mỗi thằng này có bảng gọi là Customer với cùng số trường:
Đầu tiên, mở Visual Studio và tạo một project trống. Trong mục ‘Tool’ chọn ‘SQL Server’ và ‘New Schema Comparison’
Một cửa sổ mới với 2 dropdown menu chọn “Select Source” và “Select Target” mở ra. Và chúng ta có thể kết nối đến cả 2 database, 1 cái là nguồn 1 cái là đích để so sánh.
Chỉ ra các thuộc tính kết nối của database nguồn (Database1) để kết nối tới nó.
Và cùng các bước như vậy chúng ta kết nối đến CSDL đích (Database2). Giờ bạn có cả 2 cài đặt kết nối đến cả 2 CSDL là nguồn và đích, bạn có thể bắt đầu co sánh bằng cách click vào nút “Compare”. Nếu schema của nó giống hệt nhau nó sẽ hiển thị trắng tinh:
Giờ để demo sự so sánh khác nhau, hãy tạo một só othay đổi trên Database1 bằng cách thêm một cột mới là ‘Email’ vào bảng Customer:
Như chúng ta đã làm thì công cụ sẽ thấy được sự khác nhau giữa 2 CSDL và liệt kê chúng ở cửa sổ phía dưới:
Hiện tại chúng ta có 2 lựa chọn để đồng bộ 2 schema: Có thể generate ra 1 script để đồng bộ sự thay đổi lên CSDL đích hoặc để Visual Studio làm tự động việc cập nhật bằng cách click nút “Update”
Nó sẽ tự generate ra script:
Một Script được tạo ra, nó luôn là một cách tốt để xem toàn bộ các lệnh thay đổi trên DB đích trước khi thực thi chúng trên DB đích.
Và cuối cùng là click vào “Update” để cập nhật thay đổi đến CSDL đích (Database2)
Schema Compare rất hữu ích trong các trường hợp bạn muốn so sánh nhiều CSDL trong một ứng dụng phức tạp hoặc các máy chủ phân tán ở các nơi khác nhau hoặc là cần đồng bộ những sự khác biệt về cấu trúc khi deploy phiên bản mới.
Trích nguồn từ: (decisivedata.net)