I started running into the same issue when I moved a system from SQL 2000 to SQL 2005. Mine was always on the same table. I found the following in the help text for DBCC CHECKDB. Because of it, I've put a DBCC UPDATEUSAGE in prior to the CHECKDB.
In earlier versions of SQL Server, the values for the per-table and per-index row count and page counts can become incorrect. Under certain circumstances, one or more of these values might even become negative. In SQL Server 2005, these values are always maintained correctly. Therefore, databases that are created on SQL Server 2005 should never contain incorrect counts; however, databases that are upgraded to SQL Server 2005 might. This is not a corruption of any data stored in the database. DBCC CHECKDB has been enhanced to detect when any one of these counts becomes negative. When negative counts are detected, the DBCC CHECKDB output contains a warning and a recommendation to run DBCC UPDATEUSAGE to correct the issue. Although it may appear as if upgrading the database to SQL Server 2005 has caused this issue, the incorrect counts were present before the upgrade procedure.
---Execute---------------------------------------------------------------------------------
DBCC UPDATEUSAGE (0) WITH COUNT_ROWS
GO
DBCC CHECKDB
GO sysindexes 에 있는 정보를 최신상태로 업데이트하는 구문인
-----------------------------------------------------------------------------------------------------------
MSSQL 2000 에서 2008 로 변경하는 작업이 진행되었다
하지만 유지관리계획에서 데이터베이스 백업부분 잡스케줄이 자꾸 실패하는 것이다.
확인해본 결과 복원한 DB 의 변경된 정보들이 시스템 테이블에 업데이트 되지 않아 발생하는 문제였다
DBCC UPDATEUSAGE(0) 을 실행하면 말끔히 해결된다
RSVD 페이지수가 변경되는 모습도 보일것이다
출처 : http://zarathustra.tistory.com/entry/XFile-4
'DATABASE' 카테고리의 다른 글
[MSSQL] Like문 검색시 대괄호 문제점 (2) | 2011.07.13 |
---|---|
[MSSQL] 임시테이블 존재 여부 확인/삭제 (0) | 2011.02.10 |
SQL Server 2008 MERGE 기능 (0) | 2010.07.02 |
소수점 자르기에 유용한 STR() 함수 (0) | 2010.03.26 |
날짜간격 알아내기에 유용한 DATEDIFF() 함수 (0) | 2010.02.09 |