Câu hỏi về cửa hàng phiên bản tempdb


9

Chúng tôi đã chạy qua một lỗi ngày hôm nay:

Lỗi: 3967, Mức độ nghiêm trọng: 17

và từ những gì tôi có thể nói về cơ bản là 'cửa hàng phiên bản đầy đủ'. Điều này đã đặt ra một số câu hỏi mà tôi gặp khó khăn khi trả lời, vì tại cửa hàng của tôi, chúng tôi chưa bao giờ gặp lỗi này trước đây:

  • Nếu có một kích thước tối đa đặt trước (dựa trên tổng kích thước tempdb hoặc cách khác), nó có động không?

  • Có một thiết lập sẽ làm cho nó năng động nếu nó không?

  • Chúng ta có thể thiết lập cảnh báo dựa trên điều này? (tức là DMV sử dụng để theo dõi kích thước, v.v.)

Câu trả lời:


7

Mức độ nghiêm trọng 17 cho thấy SQL Server đã hết tài nguyên cần thiết. Bạn thường thấy điều này khi cơ sở dữ liệu hết dung lượng. Trong trường hợp này, có vẻ như tempdb đang được sử dụng để đọc các hàng phiên bản cách ly ảnh chụp nhanh đã cam kết cho một truy vấn cần phải đổ vào tempdb.

Điều này có thể khá phổ biến nếu tempdb có kích thước tối đa hạn chế và một truy vấn được viết kém được thử, ví dụ, thực hiện một phép nối chéo rất lớn.

Bạn có thể sử dụng truy vấn này để xem kích thước hiện tại của cửa hàng phiên bản trong tempdb:

SELECT *
FROM sys.dm_os_performance_counters dopc
WHERE dopc.counter_name LIKE 'Version %';

Technet có một bài viết thú vị về việc sử dụng cửa hàng phiên bản tại https://technet.microsoft.com/en-us/l Library / cc966545.aspx#EDAA

Trang MSDN này đề cập đến lỗi 3967:

Khi tempdb hết dung lượng, Cơ sở dữ liệu sẽ buộc các cửa hàng phiên bản thu nhỏ lại. Trong quá trình thu hẹp, các giao dịch chạy dài nhất chưa tạo phiên bản hàng được đánh dấu là nạn nhân. Một thông báo 3967 được tạo ra trong nhật ký lỗi cho mỗi giao dịch nạn nhân. Nếu một giao dịch được đánh dấu là nạn nhân, nó không thể đọc các phiên bản hàng trong cửa hàng phiên bản nữa. Khi nó cố đọc các phiên bản hàng, thông báo 3966 được tạo và giao dịch được khôi phục. Nếu quá trình thu hẹp thành công, không gian sẽ có sẵn trong tempdb.

Cả hai trang tôi đã liên kết ở trên đều có lời khuyên rõ ràng về kích thước tối đa của cửa hàng phiên bản trong tempdb, điều này khiến tôi tin rằng giới hạn duy nhất là kích thước được cấu hình tối đa của chính tempdb, trừ bất kỳ không gian nào đang được sử dụng trong tempdb cho các đối tượng khá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.