2013-01-21 5 views
13

Khi định cấu hình LogShipping cho SQL Server, bạn có thể chọn cơ sở dữ liệu thứ cấp ở chế độ Không phục hồi hoặc Chế độ chờ. Không có Khôi phục nghĩa là bạn không có quyền truy cập vào cơ sở dữ liệu trong khi vận chuyển nhật ký đang diễn ra. Chế độ chờ cung cấp cho bạn quyền truy cập chỉ đọc và nếu bạn chọn tùy chọn ngắt kết nối người dùng bất cứ khi nào khôi phục sắp xảy ra, có vẻ như không can thiệp vào quá trình gửi nhật ký. Điều này nhìn tôi như một lợi ích bổ sung của chế độ chờ, nhưng theo như tôi có thể thấy tài liệu đề cập đến không có ảnh hưởng xấu.Log-Shipping: Tại sao bạn chọn No Recovery mode?

Do đó, tôi tự hỏi tại sao mọi người lại chọn sử dụng chế độ Không phục hồi? Lý do chính đáng duy nhất tôi có thể nghĩ là nếu chế độ Standby gây ra một sự hủy hoại hiệu suất đáng kể (nhưng không có đề cập đến bất cứ điều gì giống như trong tài liệu), hoặc nếu có một số yêu cầu bảo mật để chủ động ngăn chặn bất cứ ai nhìn thấy nội dung của cơ sở dữ liệu thứ cấp (mà có vẻ hiếm/khó).

Bất cứ ai có thể khai sáng cho tôi những lợi thế của việc chọn chế độ Không phục hồi được cho là phải không?

+7

Tôi không hiểu tại sao điều này được coi là ngoài chủ đề. Câu hỏi thường gặp được liên kết để bao gồm các công cụ phần mềm 'tiêu chuẩn' thường được các lập trình viên sử dụng. Log-Shipping là một phần của SQL Server vốn rất được các lập trình viên sử dụng, và thực sự tìm kiếm StackOverflow cho thấy các câu hỏi về LogShipping được hỏi và trả lời ở đây. – PhantomDrummer

Trả lời

16

Khi bạn sử dụng chế độ NORECOVERY, sẽ không có quyền truy cập vào cơ sở dữ liệu đích, do đó cơ sở dữ liệu không phải quan tâm đến các giao dịch không được cam kết. Nhật ký chỉ có thể được khôi phục "nguyên trạng" và còn lại trong trạng thái đó.

Khi bạn sử dụng chế độ STANDBY, cơ sở dữ liệu khôi phục dưới dạng NORECOVERY, sau đó phân tích và cuộn lại tất cả các giao dịch không được cam kết trong nhật ký. Sau đó, nó có thể cung cấp quyền truy cập chỉ đọc cho người dùng. Khi nhật ký tiếp theo được khôi phục, cơ sở dữ liệu sẽ ngắt kết nối tất cả người dùng và cuộn các giao dịch không được cam kết từ nhật ký cuối cùng trở lại trước khi khôi phục.

Như bạn có thể thấy, STANDBY có khả năng nạp thêm phí lớn khi khôi phục, tùy thuộc vào khối lượng giao dịch của bạn.

Chi tiết khác at this article at My World of SQL.