Khôi phục cơ sở dữ liệu bằng SSMS để lại cơ sở dữ liệu nguồn ở trạng thái khôi phục


7

Tôi đang sử dụng SQL Server 2016 (Phiên bản dành cho nhà phát triển) và muốn tạo một bản sao của cơ sở dữ liệu trong phiên bản Máy chủ của tôi. Tôi đã thực hiện một bản sao lưu đơn giản và sau đó khôi phục bằng cách nhấp chuột phải vào cơ sở dữ liệu một lần nữa -> Nhiệm vụ -> Khôi phục.

Bằng cách thay đổi tên của cơ sở dữ liệu, cơ sở dữ liệu thực sự được khôi phục trong cơ sở dữ liệu được tạo mới. Càng xa càng tốt. Tuy nhiên, cơ sở dữ liệu ban đầu mà tôi đã bắt đầu và nơi tôi bắt đầu khôi phục từ đó có trạng thái (Khôi phục ...) không thể thay đổi theo cách thông thường.

Tất nhiên tôi biết cách khôi phục cơ sở dữ liệu khác nhau mà không tạo ra vấn đề này và, tôi có cơ sở dữ liệu gốc của mình hoạt động trở lại, nhưng câu hỏi của tôi là:

Đây có phải là hành vi bình thường? Tôi nghĩ rằng tôi đã vấp phải một lỗi.

Câu trả lời:


16

Đây là hành vi "bình thường" trong SSMS nếu bạn chọn hộp "Thực hiện sao lưu nhật ký đuôi trước khi khôi phục" và hộp "Để cơ sở dữ liệu nguồn ở trạng thái khôi phục"

Nó có thể không trực quan và có lẽ không phải là quyết định tốt nhất để kiểm tra các hộp đó theo mặc định nhưng bạn phải bỏ chọn hộp "để cơ sở dữ liệu nguồn ở trạng thái khôi phục" để tránh hành vi đó:

nhập mô tả hình ảnh ở đây

Vì vậy, đó không phải là một lỗi, đó là hành vi SSMS tiêu chuẩn đã thay đổi trong phiên bản mới hơn (tôi tin rằng các tùy chọn đó đã xuất hiện vào năm 2012 nhưng tôi không chắc chắn).

Nếu bạn muốn tránh hành vi lạ hoặc có lỗi trong SSMS, tùy chọn tốt nhất của bạn sẽ là thực hiện khôi phục bằng các tập lệnh T-SQL để bạn có thể sao chép lại ngay cả khi bạn thay đổi phiên bản SSMS.

Xem mục kết nối này trong đó nêu rõ điều này là do thiết kế.


có một bài đăng trên blog về chính xác đó tại đây sqlundercover.com/2017/08/14/ Kẻ
David Fowler

3
Các Đưa backup đuôi-log trước khi khôi phụccơ sở dữ liệu nguồn để lại trong trạng thái phục hồi (VỚI NORECOVERY) đã có sẵn từ SSMS năm 2012 trở đi. Nếu bạn thực hiện khôi phục như bạn đã mô tả trong SQL 2012, thì cả hai tùy chọn đều được chọn theo mặc định. Trong SSMS 2014, các tùy chọn này không được chọn theo mặc định. Rõ ràng MS đã quyết định bật lại theo mặc định cho SSMS 2016.
John aka hot2use
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.