Tôi đang cố gắng xác định cách làm việc với cơ sở dữ liệu thử nghiệm (trong SQL Server) để thử nghiệm tích hợp của chúng tôi.
Ý tưởng của tôi là thực hiện các bước này khi ra mắt hội đồng thử nghiệm tích hợp:
- tạo một cơ sở dữ liệu hoàn toàn trống
- chạy tập lệnh "tạo đối tượng cơ sở dữ liệu" để tạo tất cả các đối tượng cơ sở dữ liệu có liên quan (bảng, dạng xem, trình tự, v.v.)
- điền "dữ liệu cơ sở" (giá trị tra cứu, v.v.)
- chụp ảnh nhanh cơ sở dữ liệu được gọi
(db)_Basis
là "đường cơ sở" cho các thử nghiệm tích hợp trong tương lai
Bây giờ trước mỗi lớp kiểm tra (chứa các bài kiểm tra 1-n), tôi đã dự định chỉ cần thực hiện "khôi phục từ ảnh chụp nhanh" để quay lại trạng thái được xác định rõ, ít nhiều "trống rỗng" của cơ sở dữ liệu. Hoạt động như một nét duyên dáng cho đến nay.
Tuy nhiên, có một tập hợp các thử nghiệm tích hợp cần hoạt động trên cơ sở dữ liệu thử nghiệm lớn - vì vậy tôi đã hy vọng thực hiện việc này trước mỗi thử nghiệm thử nghiệm đó (các lớp có n thử nghiệm riêng lẻ)
- khôi phục cơ sở dữ liệu từ
(db)_Basis
ảnh chụp nhanh - chèn 50.000 + hàng dữ liệu vào cơ sở dữ liệu
- tạo ra một bản chụp
(db)_With_Testdata
ảnh chụp
và sau đó cho mỗi thử nghiệm, đặt lại cơ sở dữ liệu về (db)_With_Testdata
phiên bản chụp nhanh được xác định rõ , chạy thử nghiệm, xác minh kết quả và vv.
Rắc rối là: Tôi dường như không thể có hai ảnh chụp nhanh db cùng một lúc - một khi tôi làm như vậy, tôi không thể khôi phục cơ sở dữ liệu của mình cho một trong số chúng .... Tôi tiếp tục gặp lỗi này:
Msg 3137, Cấp 16, Trạng thái 4,
Cơ sở dữ liệu Dòng 9 không thể được hoàn nguyên. Tên chính hoặc tên ảnh chụp nhanh được chỉ định không chính xác, tất cả các ảnh chụp nhanh khác không bị loại bỏ hoặc có các tệp bị thiếu.Msg 3013, Cấp 16, Bang 1, Dòng 9
RESTORE DATABASE đang chấm dứt bất thường.
Đó thực sự là cách các snapshot cơ sở dữ liệu SQL Server hoạt động ?? Có vẻ rất hạn chế ..... Tôi sẽ hiểu nếu tôi không thể quay lại trực tiếp ảnh chụp nhanh "(db) _Bocation" ban đầu - nhưng chỉ vì bây giờ tôi có hai ảnh chụp nhanh, tôi thậm chí không thể quay lại ảnh chụp gần đây nhất ?!?!?