Xây dựng lại chỉ mục SQL Server 2008 R2 với mức độ nghiêm trọng 17


12

Đôi khi trong quá trình bảo trì chỉ mục của chúng tôi, công việc sẽ thất bại với lỗi SEV 17 trong đó không thể phân bổ đủ không gian cho đối tượng mà nó đang xây dựng lại. Cơ sở dữ liệu được trình bày như sau:

Data_file1    PRIMARY    0 growth         0% free                Max Size UNLIMITED
Data_file2    PRIMARY    0 growth         0% free                Max Size UNLIMITED
Data_file3    PRIMARY    0 growth         Less than 1% free      Max Size UNLIMITED
Data_file4    PRIMARY    250 MB growth    Less than 1% free      Max Size UNLIMITED

Về cơ bản, 3 trong số 4 tệp dữ liệu đã đầy và không được phép phát triển, tệp thứ tư đầy và được phép phát triển. Các tập tin được trải đều trên các LUN khác nhau (và lý do tại sao lại lộn xộn). Vì vậy, khi việc xây dựng lại chỉ mục trực tuyến bắt đầu, tôi hiểu rằng nếu cần thêm dung lượng, nó sẽ phát triển thành Data_file4 và sẽ ổn, nhưng rõ ràng là đang cố gắng phát triển thành một tệp khác, nơi không cho phép tăng trưởng và thất bại. Tôi không thể tái tạo lỗi này, nhưng tôi đã tự hỏi nếu có ai có cái nhìn sâu sắc về lý do tại sao điều này xảy ra.

Phiên bản máy chủ SQL đầy đủ là 2008 R2 Enterprise, SP2 CU 4 (10.50.4270). Chúng tôi sử dụng các kịch bản xây dựng lại của Ola Hallengren, nơi chúng tôi xây dựng lại trực tuyến nhưng không sắp xếp tempdb.


Là kích thước tập tin tối đa được chỉ định? Các tài liệu nói rằng If max_size is not specified, the file size will increase until the disk is full.Granted, nếu tự động tăng trưởng bị tắt, thì không nên cố gắng phân bổ từ các tệp đó ( A value of 0 indicates that automatic growth is set to off and no additional space is allowed.), nhưng có thể có một lỗi, vì vậy sẽ không có hại nếu thử nếu không được đặt.
Jon Seigel

max_size ishiện được đặt thành UNLIMITED, ngay cả trên những mức tăng trưởng 0. Tôi đang điều tra điều này trong bài kiểm tra repro của tôi ngay bây giờ.
Mike Fal

Bạn đang đăng nhập kết quả? Nếu bạn giữ các bản ghi lịch sử, lỗi có xảy ra trên cùng một chỉ mục mỗi lần nó không thành công không?
Cougar9000

Có bao nhiêu trang là chỉ mục trong câu hỏi?
Mark Wilkinson

Ngoài ra, đây có phải là lỗi do tập lệnh tạo ra hay lỗi SQL Server thực tế không? Tôi hỏi bởi vì tôi tự hỏi liệu có thể bạn đang đạt giới hạn kích thước nhật ký giao dịch, trái với giới hạn kích thước tệp dữ liệu và tập lệnh đang xử lý lỗi không chính xác.
Mark Wilkinson

Câu trả lời:


1

Kinh nghiệm của tôi là nó sẽ luôn được xây dựng lại trực tuyến trong tập đoàn mà chỉ số này sống. Nó phải ánh xạ chỉ mục hiện có và giữ đủ không gian cho, về cơ bản, một bản sao.

Bạn chỉ nên gặp lỗi khi một chỉ mục quá lớn để giữ ánh xạ (bản sao) được xây dựng lại - ví dụ, một lần nó có thể bị phân mảnh đủ để đủ điều kiện trong tập lệnh của Ola và lần sau có thể không xảy ra.

Có một bài viết tuyệt vời http://technet.microsoft.com/en-us/l Library / ms179542 (v = sql.105) .aspx mà tôi đã phải đọc nhiều lần khi chạy vào các vấn đề không gian đĩa với các chỉ mụ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.