Tôi có một tình huống không dễ để tìm ra và nghĩ rằng tôi sẽ hỏi trên diễn đàn này nếu những người khác có thể có đề xuất.
Tôi đang chạy SQL Server 2008 R2 Standard SP3 trên Windows Server 2008R2 Enterprise.
Một cơ sở dữ liệu cần một số bảo trì và sau thực tế tôi cần khôi phục trên một máy chủ khác. Tôi có một bản sao lưu db đầy đủ được thực hiện với COPY_ONLY cộng với một bộ 4 bản sao lưu tlog.
- trước khi bắt đầu, hãy tạo tlogbackup1
- thay đổi từ
FULL
đểBULK_LOGGED
mô hình phục hồi - thêm nhóm mới
- thêm tập tin vào tập tin mới
- đặt newf đặc quyền thành mặc định
- chọn vào bảng (trên newfilegroup)
- thả bảng gốc
- xóa tập tin gốc
- xóa tập tin gốc
- thay đổi tên của bảng mới để khớp với bảng gốc
- thay đổi tên tệp của newfilegroup để khớp với tập tin gốc
- thay đổi tên tệp trong danh mục để khớp với tên tệp gốc
- thay đổi tên tệp ở cấp độ hệ điều hành để khớp với tên tệp gốc
- đặt filegroup mặc định là bản gốc
- mang db trực tuyến
- thay đổi từ
BULK_LOGGED
đểFULL
mô hình phục hồi - Sau khi hoàn thành tất cả các bước, hãy tạo tlogbackup2
Việc khôi phục tất cả các bản sao lưu phải sử dụng VỚI M CHUYỂN, do thay đổi ký tự ổ đĩa trên máy chủ khôi phục.
Các bước phục hồi:
RESTORE database SomeDB FROM DISK = 'D:\REPRO\SomeDB.bak'
WITH
MOVE 'SystemData' TO 'D:\SQLDATA\SomeDB.mdf'
,MOVE 'SystemDataPDS' TO 'D:\SqlData\SomeDB.ndf'
,MOVE 'SystemData_log' TO 'D:\SQLLogs\SomeDB.LDF'
,NORECOVERY
,stats = 1
RESTORE LOG SomeDB FROM DISK = 'D:\REPRO\tlogbackup1.trn'
WITH
MOVE 'SystemData' TO 'D:\SQLDATA\SomeDB.mdf'
,MOVE 'SystemDataPDS' TO 'D:\SqlData\SomeDB.ndf'
,MOVE 'SystemData_log' TO 'D:\SQLLogs\SomeDB.LDF'
,NORECOVERY
,stats = 1
RESTORE LOG SomeDB FROM DISK = 'D:\REPRO\tlogbackup2.trn'
WITH
MOVE 'SystemData' TO 'D:\SQLDATA\SomeDB.mdf'
,MOVE 'SystemDataPDS' TO 'D:\SqlData\SomeDB.ndf'
,MOVE 'SystemData_log' TO 'D:\SQLLogs\SomeDB.LDF'
,NORECOVERY
,stats = 1
Khôi phục tlog cuối cùng đạt 100% và sau đó không thành công với lỗi 3456:
Đã xử lý 368 trang cho cơ sở dữ liệu 'Một sốDB', tệp 'SystemData' trên tệp 1.
Đã xử lý 7656520 trang cho cơ sở dữ liệu 'Một sốDB', tệp 'SystemDataPDS' trên tệp 1.
Đã xử lý 172430 trang cho cơ sở dữ liệu 'Một sốDB', tệp 'SystemData_log' trên tệp 1.
Msg 3456, Cấp 16, Trạng thái 1, Dòng 1
Không thể làm lại bản ghi nhật ký (210388: 123648: 232), cho ID giao dịch (0: 1016710921), trên trang (4: 8088), cơ sở dữ liệu 'Một số cơ sở dữ liệu' (ID cơ sở dữ liệu 6) . Trang: LSN = (0: 0: 1), loại = 11. Nhật ký: OpCode = 4, bối cảnh 11, PrevPageLSN: (210388: 122007: 1). Khôi phục từ bản sao lưu của cơ sở dữ liệu hoặc sửa chữa cơ sở dữ liệu. Msg 3013, Cấp 16, Bang 1, Dòng 1 RESTORE LOG đang chấm dứt bất thường.
Chỉ cần xác minh rằng bản sao lưu db đầy đủ là ổn, tôi đã khôi phục nó chạy CHECKDB
và không có lỗi.
Tất cả thông tin phản hồi hoan nghênh.
Cảm ơn trước,
Rái cá Ned