Hôm nay, sau khi mất điện, một cơ sở dữ liệu (có Recovery: full) hiển thị "Đang khôi phục" trong SSMS. Vì thế:
myDatabase (Đang khôi phục) (trạng thái cơ sở dữ liệu: recovery, Shutdown)
Sau khi kết thúc, "quá trình khôi phục" cơ sở dữ liệu hiển thị tên myDatabase mà không có "(Đang khôi phục)". Tôi nghĩ rằng vấn đề đã được giải quyết, nhưng nó đã không xảy ra.
Khi tôi khởi động ứng dụng sử dụng cơ sở dữ liệu đó, văn bản bổ sung "(Đang khôi phục)" xuất hiện lại bên cạnh tên cơ sở dữ liệu của tôi.
Tôi đợi cho đến khi "quá trình phục hồi" kết thúc và sau đó tôi lấy cơ sở dữ liệu ngoại tuyến và đưa nó trở lại trực tuyến.
Tôi khởi động lại máy chủ, khởi động lại máy tính và khi ứng dụng của tôi đang chạy, văn bản bổ sung lại xuất hiện. Trong SQL Server, thông báo "Khởi động cơ sở dữ liệu 'myDatabase'" xuất hiện vài lần. Có vẻ như cơ sở dữ liệu đang hoạt động vì tôi có thể chèn dữ liệu, nhưng trạng thái đang cho thấy điều gì đó xảy ra.
Nhật ký máy chủ không hiển thị bất cứ điều gì thú vị. Điều bất thường duy nhất là tôi có 30 mục "Khởi động cơ sở dữ liệu 'myDatabase'".
Tôi biết rằng khi máy chủ khởi động, mọi cơ sở dữ liệu đều được phục hồi trước khi nó sẵn sàng để sử dụng. Nhưng trong trường hợp của tôi, cơ sở dữ liệu trực tuyến sau đó hiển thị "myDatabase (Đang khôi phục)". Nếu tôi đóng ứng dụng, cơ sở dữ liệu sẽ chuyển sang Trạng thái: Bình thường. Điều này khiến tôi điên mất.
Tôi thậm chí đã cài đặt một phiên bản mới của SQL Server và đặt cơ sở dữ liệu cũ "myDatabase" vào đó. Vấn đề vẫn xảy ra.
Khi tôi chạy truy vấn này:
SELECT databasepropertyex('nyDatabase', 'STATUS')
Nó cho thấy phục hồi, trực tuyến, nghi ngờ và trở lại trực tuyến và sau đó phục hồi và như vậy.