데이터베이스 2에서 논리 페이지 (5 : 65424)를 가져 오지 못했습니다.


11

SqlException저장 프로 시저를 호출 하면 다음과 같은 결과가 나타납니다 .

데이터베이스 2에서 논리 페이지 (5 : 65424)를 가져 오지 못했습니다. 4899918190390149120이 아닌 할당 단위 7349876362857938944에 속합니다.

System.Data.SqlClient.SqlException 발생
Message = "데이터베이스 2에서 논리 페이지 (5 : 65424)를 가져 오지 못했습니다. 할당 단위 7349876362857938944가 아닌 4899918190390149120에 속합니다.

Source = ". Net SqlClient 데이터 공급자"
ErrorCode = -2146232060
Class = 21
LineNumber = 257
Number = 605
Procedure = "ispDisplayCount"
서버 = "10.10.1.1"
상태 = 3

이 예외는 무엇을 의미합니까? 위의 문제에 대한 해결책이 있습니까?

위의 오류에서 참조 된 데이터베이스는 tempdb를 나타내지 만 메시지 605를 참조하는 유사한 오류는 아래 답변을 사용하여 수정 될 수 있습니다.

메시지 605, 수준 21, 상태 3, 줄 1
데이터베이스 7에서 논리 페이지 (1 : 8687634)를 가져 오지 못했습니다. 72057594052476928이 아닌 할당 단위 72057594364821504에 속합니다.

답변:


11

오류 메시지로 표시된 데이터베이스 ID가 2인 경우 영향을받는 데이터베이스는 tempdb입니다. tempdb에서 이러한 유형의 손상을 수정하는 한 가지 방법은 단순히 SQL Server 인스턴스를 다시 시작하는 것입니다. 데이터베이스 ID가 2가 아닌 경우 아래 권장 사항을 따르십시오.

백업에서 복원해야 할 수도 있지만 다음을 시도하십시오.

sysadmin 역할의 구성원으로 값을 실행 DBCC PAGE (2, 5, 65424, 3);하고 찾으십시오 Metadata: IndexId.

  • 이 경우 0(힙) 또는 1(클러스터 된 인덱스) 백업에서 복원해야합니다.
  • 이 경우 되지 0 또는 1, 당신은 단지 클러스터되지 않은 인덱스를 재 구축 할 수 있습니다.

DBCC 명령을 실행하고 찾은 내용을 알려주십시오. 명령에 대한 자세한 내용은 https://www.mssqltips.com/sqlservertip/1578/using-dbcc-page-to-examine-sql-server-table-and-index-data/ 를 확인 하십시오.DBCC PAGE


10

데이터베이스가 손상되었습니다. 양호한 백업에서 복원 할 시간입니다. 백업이없는 경우 복구 계획 테스트의 중요성에 대해 알아볼 시간 입니다. 하드웨어의 신뢰성에 대한 조사도 필요합니다. 시스템 로그에 경고 및 오류가 있는지 확인하십시오.


9

이 오류는 데이터베이스가 손상되었음을 나타냅니다. 좋은 소식은 데이터베이스 ID 2가 이것이 tempdb 데이터베이스임을 나타내므로 쉽게 수정할 수 있습니다. 데이터베이스 인스턴스를 다시 시작하면됩니다.

인스턴스를 다시 시작하면 손상이 발생한 이유를 파악해야합니다. chkdsk문제 파일이있는 드라이브에서 실행하십시오 . 다음으로 스토리지 자체를 살펴보고 문제가 있는지 확인해야합니다. 실제 디스크 문제 일 수 있으며 HBA 또는 RAID 카드 드라이버 등일 수 있습니다.


데니, RAM 상태 점검도 도움이 되나요? RAM의 손상된 페이지도 디스크의 손상으로 변환 되었습니까?
Ali Razeghi

1
RAM 스틱이 불량하면 페이지가 더티로보고 될 수 있습니다. 메모리보다 디스크 하위 시스템에 문제가있을 가능성이 훨씬 높습니다. 디스크가 실제로 괜찮다면 다음으로 살펴볼 곳입니다.
mrdenny

2

SQL 캐시를 지우면이 문제를 해결할 수있었습니다.

DBCC FREEPROCCACHE
GO
DBCC DROPCLEANBUFFERS
GO

분명히 SQL 서비스를 다시 시작하면 동일한 영향을 미쳤습니다.

( Made By SQL을 통해 다른 사람들을 돕기 위해 여기에 재현되었습니다!)


1

필자의 경우 관련 테이블 에서 데이터를 자르고 다시 채우는 것이 해결책이었습니다.

테이블 내부의 데이터가 손상되었을 수 있습니다.


1

많은 사람들로부터 " 데이터베이스가 손상되었습니다. 복원해야합니다 "라는 말을 들으면서 다음 중 일부를 수행하는 데 몇 분이 걸리지 않습니다. 로그를 검토하고 문제가 처음 발생한시기, 해당 줄 이전의 오류, 페이지가 속한 데이터베이스 / 테이블을 확인하십시오.

필자의 경우이 오류는 다음과 같습니다.

데이터베이스 'XYZ'에서 테이블 629577281의 인덱스 ID 9에서 인덱스 항목을 찾을 수 없습니다. 표시된 색인이 손상되었거나 현재 업데이트 계획에 문제가 있습니다

해결 방법은 참조 된 인덱스를 추적하고 임시로 삭제하는 것입니다.

나중에 정확한 문제를 설명하고 솔루션 링크를 제공하는이 Microsoft 링크를 찾았습니다.

이것이 미래에 다른 누군가를 돕기를 바랍니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.