Nhật ký vận chuyển - RESTORE VỚI STANDBY - trên SQL Server 2012 tiếp tục bị phá vỡ


10

Chúng tôi đang sử dụng vận chuyển nhật ký và RESTORE WITH STANDBYtrên SQL Server 2012 để khôi phục cơ sở dữ liệu ở chế độ chỉ đọc cho mục đích báo cáo. Tuy nhiên, thiết lập vận chuyển nhật ký tiếp tục bị hỏng sau khi hoàn thành khôi phục một hoặc hai bản sao lưu nhật ký. Log-vận chuyển chỉ bị hỏng khi nó đang chạy như RESTORE WITH STANDBY; RESTORE WITH NORECOVERYkhông gây ra vấn đề gì

Trực giác duy nhất của tôi về điều này là cơ sở dữ liệu chính không phải là động. Do đó, khi không có giao dịch, điều này gây ra vấn đề với RESTOREquá trình, có thể?

Bất kỳ ý tưởng, sửa chữa được biết đến?

Tôi đã làm việc được vài ngày bằng cách điều hành một công việc thường xuyên cập nhật nặng nề trên hai bảng. Khi công việc dừng chạy, thiết lập vận chuyển nhật ký nhanh chóng thất bại, không thể xử lý tệp .trn. Tôi đặt lại log-vận chuyển và thử xem liệu nó có tiếp tục chạy hay không bằng cách thực hiện một bản cập nhật nhỏ, thay đổi giá trị của một cột của một bản ghi trong một bảng, cho dù nó vẫn thất bại.

Cảm ơn sự phản hồi của bạn.

PS: Một đoạn trích từ nhật ký của chúng tôi

25/02/2013 13: 00: 00, LSRestore_DBDB01-A_BulinoisDB, Đang tiến hành, 1, DBREPORTS, LSRestore_DBDB01-A_BulinoisDB, Đăng nhập bước khôi phục nhật ký công việc. ,, 2013 / 02-25 13: 00: 12.31 *** Lỗi: Không thể áp dụng tệp sao lưu nhật ký '\\ dbsan01 \ DBBackups \ LSBackup_BulinoisDB \ BulldogDB_20130225180000.trn' cho cơ sở dữ liệu thứ cấp 'BulldogDB'. (Microsoft.SqlServer.Man Quản lý.LogShipping) ***
2013 / 02-25 13: 00: 12.31 *** Lỗi: Xảy ra lỗi trong khi xử lý nhật ký cho cơ sở dữ liệu 'BulldogDB'. Nếu có thể khôi phục từ bản sao lưu. Nếu không có bản sao lưu, có thể cần phải xây dựng lại nhật ký.
Đã xảy ra lỗi trong quá trình khôi phục, ngăn cơ sở dữ liệu 'BulldogDB' (8: 0) khởi động lại. Chẩn đoán các lỗi khôi phục và sửa chúng hoặc khôi phục từ một bản sao lưu tốt đã biết. Nếu lỗi không được sửa chữa hoặc dự kiến ​​liên hệ Hỗ trợ kỹ thuật.
RESTORE LOG đang chấm dứt bất thường.
Đã xử lý 0 trang cho cơ sở dữ liệu 'Tập tin' của Google '' Tập tin 'trên tập tin 1.
Đã xử lý 1 trang cho cơ sở dữ liệu tệp 'BulldogDB' 'BulldogDB_log' trên tệp 1. (. Nhà cung cấp dữ liệu Net SqlClient) ***
2013 / 02-25 13: 00: 12.32 *** Lỗi: Không thể ghi nhật ký lịch sử / thông báo lỗi. (Microsoft.SqlServer.Manloyment.LogShipping) ***
2013 / 02-25 13: 00: 12.32 *** Lỗi: ExecuteNonQuery yêu cầu Kết nối mở và khả dụng. Trạng thái hiện tại của kết nối đã bị đóng. (System.Data) ***
2013 / 02-25 13: 00: 12.32 Bỏ qua tệp sao lưu nhật ký '\\ dbsan01 \ DBBackups \ LSBackup_BulinoisDB \ BulldogDB_20130225180000.trn' cho cơ sở dữ liệu thứ cấp 'BulldogDB' vì không thể xác minh được tệp.
2013 / 02-25 13: 00: 12.32 *** Lỗi: Không thể ghi nhật ký lịch sử / thông báo lỗi. (Microsoft.SqlServer.Manloyment.LogShipping) ***
2013 / 02-25 13: 00: 12.32 *** Lỗi: ExecuteNonQuery yêu cầu Kết nối mở và khả dụng. Trạng thái hiện tại của kết nối đã bị đóng. (System.Data) ***
2013 / 02-25 13: 00: 12.33 *** Lỗi: Xảy ra lỗi khi khôi phục chế độ truy cập cơ sở dữ liệu. (Microsoft.SqlServer.Manloyment.LogShipping) ***
2013 / 02-25 13: 00: 12.33 *** Lỗi: ExecuteScalar yêu cầu Kết nối mở và khả dụng. Trạng thái hiện tại của kết nối đã bị đóng. (System.Data) ***
2013 / 02-25 13: 00: 12.33 *** Lỗi: Không thể ghi nhật ký lịch sử / thông báo lỗi. (Microsoft.SqlServer.Manloyment.LogShipping) ***
2013 / 02-25 13: 00: 12.33 *** Lỗi: ExecuteNonQuery yêu cầu Kết nối mở và khả dụng. Trạng thái hiện tại của kết nối đã bị đóng. (System.Data) ***
2013 / 02-25 13: 00: 12.33 *** Lỗi: Xảy ra lỗi khi khôi phục chế độ truy cập cơ sở dữ liệu. (Microsoft.SqlServer.Manloyment.LogShipping) ***
2013 / 02-25 13: 00: 12.33 *** Lỗi: ExecuteScalar yêu cầu Kết nối mở và khả dụng. Trạng thái hiện tại của kết nối đã bị đóng. (System.Data) ***
2013 / 02-25 13: 00: 12.33 *** Lỗi: Không thể ghi nhật ký lịch sử / thông báo lỗi. (Microsoft.SqlServer.Manloyment.LogShipping) ***
2013 / 02-25 13: 00: 12.33 *** Lỗi: ExecuteNonQuery yêu cầu Kết nối mở và khả dụng. Trạng thái hiện tại của kết nối đã bị đóng. (System.Data) ***
2013 / 02-25 13: 00: 12.33 Xóa các tệp sao lưu nhật ký cũ. Cơ sở dữ liệu chính: 'BulldogDB'
2013 / 02-25 13: 00: 12.33 *** Lỗi: Không thể ghi nhật ký lịch sử / thông báo lỗi. (Microsoft.SqlServer.Manloyment.LogShipping) ***
2013 / 02-25 13: 00: 12.33 *** Lỗi: ExecuteNonQuery yêu cầu Kết nối mở và khả dụng. Trạng thái hiện tại của kết nối đã bị đóng. (System.Data) ***, 00: 00: 12,0,0 ,,,, 0

Nó phá vỡ ở chỗ công việc LS_Restore không thể áp dụng sao lưu nhật ký giao dịch. Tôi chỉ cần thiết lập lại vận chuyển log để tất cả các thông tin nhật ký lỗi được lấy từ cơ sở dữ liệu. Tôi đã lưu chúng ở đâu đó, tôi sẽ đăng chúng khi tôi có thể tìm thấy chúng. Cảm ơn.
Mendel

Chúng tôi nhận được một cái gì đó như "Bỏ qua tệp sao lưu nhật ký ... .trn cho cơ sở dữ liệu thứ cấp 'DB' vì tệp không thể được xác minh . Tôi không biết bạn sẽ kiểm tra cụ thể như thế nào về tham nhũng.
Mendel

Câu trả lời:


4

Nếu các bản sao lưu nhật ký có thể được khôi phục trong khi cơ sở dữ liệu thứ cấp ở trạng thái BÌNH THƯỜNG và chỉ thất bại khi nó ở chế độ CHỈ ĐỌC / STANDBY thì tôi cho rằng bản thân các bản sao lưu nhật ký đều ổn và không bị hỏng.

Có thể là thành phần báo cáo của bạn có kết nối mở với cơ sở dữ liệu, do đó, khi khôi phục tệp nhật ký, nó không thể có được kết nối độc quyền với cơ sở dữ liệu do các kết nối mở. Sẽ có một tùy chọn khi thiết lập vận chuyển nhật ký để ngắt kết nối mọi kết nối để cho phép nó khôi phục lại bản sao lưu nhật ký.


1
Chính xác. Để giải quyết vấn đề này, đừng để công việc logshipping khôi phục ở chế độ chờ mà thêm bước thứ hai vào công việc sẽ khôi phục với chế độ chờ. RESTORE DATABASE [cơ sở dữ liệu] với STANDBY = N'standbyfile '. Một tùy chọn khác là sao lưu nhật ký giao dịch chưa kết thúc, hãy thử thêm độ trễ 20 phút cho các lần khôi phục
Sporri

1

Ở chế độ chờ, Khôi phục thứ cấp chỉ ngắt kết nối người dùng khi bắt đầu công việc, sau khi bắt đầu, người dùng có thể kết nối ... và điều này sẽ dừng quá trình khôi phục với lỗi về "acces độc quyền". Tôi có dịch vụ đã cố gắng kết nối với cơ sở dữ liệu dự phòng trong khi khôi phục. Điều đó đã khiến quá trình khôi phục bị hỏng sau 1-10 / 100 tệp được khôi phục.

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.