
특정 테이블에 문제가 있습니다. 조각화 수준에 따라 인덱스를 다시 작성하기 위해 Kimberly Tripp의 스크립트를 사용하고 있었습니다. 다음 오류로 인해 작업이 실패했습니다.
메시지 2501, Sev 16: 'CMS_InfoObjects6'이라는 테이블이나 개체를 찾을 수 없습니다. sysobject를 확인하세요. [SQLSTATE 42S02]
sysobjects를 확인하고 나열된 테이블 이름을 확인했습니다. object_name(2137058649)을 선택하면 CMS_InfoObjects6이 반환됩니다. select object_id('CMS_InfoObjects6')는 null을 반환합니다. select object_id(object_name(2137058649)) 도 null을 반환합니다.
정규화된 이름(소유자가 dbo가 아님)을 사용할 때 EM에서 테이블을 볼 수 있고 QA에서 *를 선택할 수 있습니다.
dbcc checkdb는 오류를 반환하지 않습니다.
@name varchar(500) set @name = object_name(2137058649) dbcc 체크테이블(@name) 선언
"'CMS_InfoObjects6'이라는 테이블이나 개체를 찾을 수 없습니다. sysobjects를 확인하세요."를 반환합니다.
혼란스러워요.
답변1
변수에 스키마를 포함하지 않습니다. 개체가 기본 스키마에 없는 경우(이 경우 dbo가 아니라고 말한 경우) 정규화된 이름을 DBCC CHECKTABLE에 전달해야 합니다. 온라인 설명서 페이지 하단에서 해당 명령에 대한 예제 스크립트를 확인하세요.
http://msdn.microsoft.com/en-us/library/ms174338.aspx
스키마를 포함하려면 Kimberly의 스크립트를 수정해야 합니다. (재밌네요. 우리가 말하는 동안 그녀가 내 앞에서 수업을 하고 있어요, 하하하.)