Cố gắng tìm nạp trang logic (5: 65424) trong cơ sở dữ liệu 2 không thành công


11

Tôi nhận được những điều sau đây SqlExceptionkhi gọi một thủ tục được lưu trữ:

Cố gắng tìm nạp trang logic (5: 65424) trong cơ sở dữ liệu 2 không thành công. Nó thuộc đơn vị phân bổ 7349876362857938944 không thuộc 4899918190390149120.

System.Data.SqlClient.SqlException đã xảy ra
Message = "Cố gắng tìm nạp trang logic (5: 65424) trong cơ sở dữ liệu 2. Nó không thuộc đơn vị phân bổ 7349876362857938944 không thuộc 4899918190390149120.

Nguồn = ". Nhà cung cấp dữ liệu Net SqlClient"
ErrorCode = -2146232060
Class = 21
LineNumber = 257
Number = 605
Thủ tục = "ispDisplayCount"
Server = "10.10.1.1"
State = 3

Ngoại lệ này có ý nghĩa gì? Có bất kỳ giải pháp cho vấn đề trên?

Mặc dù cơ sở dữ liệu được tham chiếu trong lỗi ở trên biểu thị tempdb, nhưng các lỗi tương tự tham chiếu đến Thông báo 605, có thể được sửa bằng các câu trả lời bên dưới.

Msg 605, Cấp 21, Trạng thái 3, Dòng 1
Cố gắng tìm nạp trang logic (1: 8687634) trong cơ sở dữ liệu 7 không thành công. Nó thuộc đơn vị phân bổ 72057594364821504 không thuộc 72057594052476928.

Câu trả lời:


11

Nếu ID cơ sở dữ liệu được chỉ báo bởi thông báo lỗi là 2, cơ sở dữ liệu bị ảnh hưởng là tempdb. Một phương pháp để sửa lỗi loại tham nhũng này trong tempdb là chỉ cần khởi động lại phiên bản SQL Server. Đối với ID cơ sở dữ liệu khác 2, hãy làm theo các khuyến nghị bên dưới.

Bạn có thể cần khôi phục từ bản sao lưu, tuy nhiên hãy thử điều này:

Là một thành viên của vai trò sysadmin, thực hiện DBCC PAGE (2, 5, 65424, 3);và tìm kiếm Metadata: IndexIdgiá trị.

  • Nếu là 0(heap) hoặc 1(chỉ mục cụm), bạn cần khôi phục từ bản sao lưu.
  • Nếu nó không 0 hoặc 1, bạn chỉ có thể xây dựng lại chỉ mục không được nhóm.

Chạy lệnh DBCC và cho chúng tôi biết những gì bạn tìm thấy. Kiểm tra https://www.mssqltips.com/sqlservertip/1578/USE-dbcc-page-to-examine-sql-server-table-and-index-data/ để biết chi tiết về DBCC PAGElệnh



9

Lỗi cho thấy cơ sở dữ liệu của bạn bị hỏng. Tin tốt là cơ sở dữ liệu ID 2 chỉ ra đây là cơ sở dữ liệu tempdb, vì vậy việc sửa lỗi này rất dễ dàng - chỉ cần khởi động lại thể hiện cơ sở dữ liệu.

Khi bạn khởi động lại ví dụ, bạn nên tìm hiểu tại sao tham nhũng xảy ra. Bắt đầu bằng cách chạy chkdsktrên ổ đĩa mà tệp vấn đề được bật. Tiếp theo bạn sẽ cần xem xét chính bộ lưu trữ và xem có vấn đề gì ở đó không. Có thể là sự cố đĩa vật lý, có thể là trình điều khiển thẻ HBA hoặc RAID, v.v.


Denny, bạn có thấy việc kiểm tra sức khỏe RAM cũng có lợi không? Bạn đã thấy một trang bị hỏng trong RAM cũng chuyển thành hỏng trên đĩa chưa?
Ali Razeghi

1
Nếu có thanh RAM xấu có thể khiến trang bị báo là bẩn. Tỷ lệ cược cao hơn nhiều vì đó là vấn đề với hệ thống con đĩa hơn bộ nhớ. Đó sẽ là nơi tiếp theo để xem nếu các đĩa trong thực tế là tốt.
mrdenny

2

Tôi đã có thể giải quyết điều này bằng cách xóa bộ đệm SQL:

DBCC FREEPROCCACHE
GO
DBCC DROPCLEANBUFFERS
GO

Rõ ràng việc khởi động lại dịch vụ SQL cũng có ảnh hưởng tương tự.

(thông qua Made By SQL , được sao chép ở đây để giúp đỡ người khác!)


1

Trong trường hợp của tôi, việc cắt bớt và điền lại dữ liệu trong các bảng có liên quan là giải pháp.

Rất có thể dữ liệu bên trong các bảng đã bị hỏng.


1

Điều bạn sẽ nghe từ nhiều người là " cơ sở dữ liệu bị hỏng, bạn cần khôi phục " mà không hề khuyên bạn nên dành vài phút để thực hiện một số thao tác sau; xem lại nhật ký của bạn, tìm hiểu khi xảy ra sự cố lần đầu tiên, lỗi xảy ra trước dòng đó, kiểm tra cơ sở dữ liệu / bảng mà trang thuộc về

Trong trường hợp của tôi, lỗi này được đặt trước;

Không thể tìm thấy mục nhập chỉ mục trong chỉ mục ID 9, của bảng 629577281, trong cơ sở dữ liệu 'XYZ'. Chỉ mục được chỉ định bị hỏng hoặc có vấn đề với kế hoạch cập nhật hiện tại

Một cách giải quyết là theo dõi chỉ mục được đề cập và tạm thời xóa nó.

tôi sau đó đã tìm thấy một liên kết Microsoft này mô tả chính xác vấn đề của tôi và cung cấp một liên kết giải pháp

hy vọng điều này sẽ giúp người khác trong tương lai

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.