Nhật ký giao dịch đầy đủ do log_backup


7

Tôi đang kiểm tra cách các hoạt động nhất định được ghi lại theo các mô hình khôi phục khác nhau. Đây là các bước tôi đã thực hiện cho đến bây giờ

Cơ sở dữ liệu 1.create đầy đủ mô hình phục hồi
2.take sao lưu
3.Tạo một bảng và chèn 10 triệu hồ sơ
4.Take sao lưu nhật ký, kiểm tra VLF đếm và thấy không gian log tỷ lệ free
5.Now làm một chỉ số xây dựng lại và xem các hồ sơ được tạo ra sử dụng chức năng fn_dblog

6.Bây giờ tôi đã chuyển sang mô hình khôi phục hàng loạt
7. Thực hiện sao lưu
8. Thực hiện sao lưu nhật ký
9.did xây dựng lại chỉ mục

Xây dựng lại chỉ mục lạ là thất bại với lỗi dưới đây.

Các tuyên bố này đã bị chấm dứt. Msg 9002, Cấp 17, Trạng thái 2, Dòng 1 Nhật ký giao dịch cho cơ sở dữ liệu 'hàng loạt' đã đầy do 'LOG_BACKUP'.

điều đó không đúng

1.log autogrowth không được restrcited

Cài đặt tự động

2. Không gian nơi lưu trữ logfile

không gian trên ổ đĩa nơi lưu trữ tệp nhật ký

Ai đó có thể giúp tôi hiểu lý do tại sao tôi gặp lỗi ở trên không, mặc dù không gian có ở đó và tự động không được khôi phục

thêm hình ảnh của kích thước chỉ mục ..

Vấn đề đã được giải quyết, nhưng không chắc chắn sự thay đổi này đã tạo ra sự khác biệt như thế nào. Mọi con trỏ sẽ được đánh giá cao ..

Bình luận đang nói hai bài dài - cũng đăng ở đây ...

Tôi đã viết lại chỉ mục một lần nữa, sau khi thay đổi mô hình phục hồi và sau đó nó hoạt động. Chỉ số kịch bản trước đó và sau đó vẫn giữ nguyên, chỉ có phiên thay đổi. Nhưng tôi không chắc cách này hoạt động.

Trước :

USE [bulklogging]  
GO  
ALTER INDEX [PK__bcc__3213E83FAC9DB5ED] ON [dbo].[bcc] 
REBUILD PARTITION = ALL WITH (PAD_INDEX = OFF, 
STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)
GO

Sau:

USE [bulklogging]  
GO  
ALTER INDEX [PK__bcc__3213E83FAC9DB5ED] ON [dbo].[bcc] 
REBUILD PARTITION = ALL WITH (PAD_INDEX = OFF, 
STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)
GO

Cập nhật để đóng câu hỏi này:
Tôi đang sử dụng Fn_dblog để kiểm tra các bản ghi nhật ký, Điều này dường như có một Lỗi ẩn như được mô tả ở đây , điều này có thể ảnh hưởng đến sự tăng trưởng nhật ký của tôi ..

Chỉnh sửa 15/8/13: Cẩn thận - Jonathan vừa phát hiện ra từ một hệ thống khách hàng sử dụng rộng rãi rằng mỗi khi fn_dump_dblog được gọi, nó sẽ tạo một trình lập lịch SQLOS ẩn mới và tối đa ba luồng, sẽ không biến mất (và sẽ không biến mất được sử dụng lại) cho đến khi máy chủ khởi động lại. Đó là một lỗi mà nhóm SQL sẽ sửa bây giờ chúng tôi đã cảnh báo họ về nó. Sử dụng cẩn thận.

Chỉnh sửa 15/05/2015: Nó đã được sửa trong SQL Server 2012 SP2 + và SQL Server 2014. Bản sửa lỗi sẽ không được đưa vào trước bất kỳ.

nhập mô tả hình ảnh ở đây


Từ ảnh chụp màn hình của bạn, tăng trưởng nhật ký được giới hạn ở mức 2 terabyte. Đó có lẽ không phải là vấn đề tho. Cột log_Vuse_wait_desc trong sys.database nói gì?
Andomar

Tôi tin rằng đó là cài đặt mặc định và tôi nghĩ rằng bảng của tôi với 1000000 hàng sẽ tạo ra tệp nhật ký 2 TB. Câu hỏi được chỉnh sửa với hình ảnh bây giờ.
TheGameiswar

Đồng ý, cột log_Vuse_wait_desc trong sys.database nói gì?
Andomar

nó hiển thị log_backup
TheGameiswar

1
Tôi có thể lặp lại hành vi tương tự, không liên tục. Khi tôi xây dựng lại chỉ mục rất nhanh (chạy lại truy vấn trong khoảng 2 phút). Mặc dù điều này không nhất quán, tôi chỉ có thể xử lý lại hành vi trong kịch bản này
TheGameiswar

Câu trả lời:


5

Lỗi này xảy ra do nhật ký giao dịch trở nên đầy đủ do LOG_BACKUP. Do đó, bạn không thể thực hiện bất kỳ hành động nào trên cơ sở dữ liệu này và trong trường hợp này,

các SQL Server Database Engine sẽ nâng cao một lỗi 9002 .

Để giải quyết vấn đề này, bạn phải làm như sau:

  • Hãy sao lưu cơ sở dữ liệu đầy đủ.
  • Thu nhỏ tệp nhật ký để giảm kích thước tệp vật lý.
  • Tạo một LOG_BACKUP.
  • Tạo một kế hoạch bảo trì LOG_BACKUP để lấy nhật ký dự phòng thường xuyên.

Lưu ý: Hiệu ứng hoạt động Shrink trên SQL Server Performance trong khi thực hiện lệnh thu nhỏ. nó cũng gây ra sự phân mảnh chỉ mục và có thể làm chậm hiệu suất của các truy vấn tìm kiếm một phạm vi chỉ mục.

Vì vậy, chúng tôi khuyên bạn nên đi trước khi đi vào hoạt động, bạn nên chuẩn bị Kế hoạch bảo trì LOG_BACKUP để sao lưu tệp nhật ký thường xuyên để tránh hoạt động thu nhỏ trên Sản xuất.

Để biết thêm chi tiết, hãy kiểm tra Nhật ký giao dịch cho cơ sở dữ liệu 'SharePoint_Config' đã đầy do LOG_BACKUP

Hy vọng điều này sẽ giúp bạn


1

Tôi đã gặp vấn đề này ngày hôm nay với một trong những cơ sở dữ liệu sản xuất của tôi. Tôi đã giải quyết nó bằng cách thêm một tệp nhật ký thứ hai vào cơ sở dữ liệu. Tôi không thể sao lưu toàn bộ hoặc thực hiện thu nhỏ tệp nhật ký như được mô tả ở trên vì khi tôi cố gắng nó sẽ tạo ra thông LOG_BACKUPbáo lỗi. Tôi cũng đã cố gắng mở rộng tệp nhật ký nhưng điều này cũng tạo ra lỗi tương tự. Cuối cùng, việc thêm một tệp nhật ký nhỏ thứ hai đã khiến cơ sở dữ liệu có thể sử dụng lại được - sau đó tôi có thể sao lưu cơ sở dữ liệu và thay đổi kích thước nhật ký ban đầu.

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.