tôi đã cố gắng để khôi phục lại cơ sở dữ liệu bằng cách sử dụng truy vấn sau đây:Các đuôi của nhật ký cho cơ sở dữ liệu "dbname" đã không được sao lưu
ALTER DATABASE [DatabaseName] SET Single_User WITH Rollback Immediate GO
RESTORE DATABASE DatabaseName FROM DISK = 'C:\DBName-Full Database Backup'
ALTER DATABASE [DatabaseName] SET Multi_User GO
nhưng thay vì khôi phục lại cơ sở dữ liệu, tôi nhận được lỗi này:
Msg 3159, Level 16, State 1, Line 2
The tail of the log for the database "DatabaseName" has not been backed up. Use
BACKUP LOG WITH NORECOVERY
to backup the log if it contains work you do not want to lose. Use theWITH REPLACE
orWITH STOPAT
clause of theRESTORE
statement to just overwrite the contents of the log. Msg 3013, Level 16, State 1, Line 2RESTORE DATABASE
is terminating abnormally.
Trong trường hợp của tôi, nó đã xảy ra khi tôi đã có một cơ sở dữ liệu có cùng tên trên cùng một Máy chủ SQL. Tôi vừa xóa db có cùng tên và chạy lệnh khôi phục. Lưu ý: Tôi đã xóa db có cùng tên vì đó là bản sao cũ của db mà tôi không cần nữa. Tuy nhiên, nếu bạn vẫn cần bản sao cũ, bạn có thể muốn sao lưu hoặc đổi tên cũ hoặc db mới. Tuy nhiên, nếu bạn không có một db có cùng tên thì hãy làm những gì thông báo lỗi được yêu cầu làm. – nam