Chúng tôi kịch bản mọi thay đổi DDL để DB và khi chúng ta thực hiện một "giải phóng" chúng ta nối chúng thành một single "nâng cấp" kịch bản, cùng với bất kỳ các Stored Procedure mà đã thay đổi "kể từ lần cuối cùng"
Chúng tôi có một bảng lưu trữ số phiên bản của bản vá mới nhất được áp dụng - vì vậy các công cụ nâng cấp có thể áp dụng mọi bản vá mới hơn.
Mỗi thủ tục được lưu trữ nằm trong một tệp riêng biệt. Mỗi câu lệnh bắt đầu bằng câu lệnh "insert" vào bảng ghi lưu trữ Tên của SProc, Version và "now". (Trên thực tế một SProc được thực hiện để lưu trữ này, nó không phải là một câu lệnh chèn thô). Đôi khi trong quá trình triển khai, chúng tôi thay đổi SProc một cách thủ công hoặc tỷ lệ cược triển khai & kết thúc từ DEV và so sánh nhật ký trên cơ sở dữ liệu TEST và PRODUCTION của khách hàng cho phép chúng tôi kiểm tra xem mọi thứ có cùng phiên bản hay không.
Chúng tôi cũng có cơ sở dữ liệu chính "phát hành", chúng tôi áp dụng bản cập nhật và chúng tôi sử dụng bản sao lưu đã được khôi phục cho bản cài đặt mới (tiết kiệm thời gian chạy tập lệnh, rõ ràng tăng theo thời gian). Chúng tôi cập nhật đó là & khi, bởi vì rõ ràng nếu nó hơi cũ, các tập lệnh vá lỗi sau này có thể được áp dụng.
cơ sở dữ liệu phát hành của chúng tôi cũng có chứa dữ liệu khởi động vệ sinh (trong đó sẽ bị xóa, hoặc đôi khi thông qua & sửa đổi, trước khi cài đặt mới có hiệu lực - vì vậy đây không được bao gồm trong bất kỳ kịch bản cập nhật)
SQL Server có một nút trên thanh công cụ để viết một thay đổi - vì vậy bạn có thể sử dụng các công cụ GUI để thực hiện tất cả các thay đổi, thay vì lưu chúng tạo ra một kịch bản thay thế. (thực tế, có một hộp kiểm để luôn tạo tạo tập lệnh, vì vậy nếu bạn quên và chỉ nhấn SAVE nó vẫn cung cấp cho bạn tập lệnh mà nó được sử dụng sau khi thực tế, có thể được lưu dưới dạng tệp vá)
+1. Tôi làm theo một quy trình tương tự và nó hoạt động tốt. –
+1. Chúng tôi làm theo quy trình tương tự và có một công cụ gọi là SQL Deploy giúp chúng tôi rất nhiều –