2011-10-22 3 views
3

배경이 조금 겹쳐서 오랫동안 고객을 위해 큐브를 처리해 온 OLAP 시스템이 있습니다. 그런 다음 최근에 실패하기 시작했습니다. 이것은 실수로 결혼하여 자신을 사용할 수 없게 만드는 주요 개발자와 동시에 발생했습니다. 그래서 분명히 나는 ​​그를 괴롭히지 않을 수있다.OLAP 큐브에서 날짜 차원이 처리를 중지했습니다.

년, 월, 일 수준에서 작동하는 날짜 차원이 있습니다. 우리는 달력과 회계 연도에 위계 질서를 가지고 있습니다.

현재는 (OLAP 개발사가 아닌) 꽤 해독 할 수있는 메시지를 던지고 있습니다. 온라인에서 읽은 예제는 여러 달에 걸쳐 몇 주씩 나누어 발생하는 것을 말합니다. 문제는 없습니다. 메시지는 다음과 같습니다

Rigid relationships between attributes cannot be changed during incremental processing of a dimension. 

내가 지금 날짜에 관련된 문제를 얻을 큐브를 다시 처리

.

Internal error: The operation terminated unsuccessfully. 
Errors in the OLAP storage engine: Rigid relationships between attributes cannot be changed during incremental processing of a dimension. 
Errors in the OLAP storage engine: An error occurred while the 'Date ID' attribute of the 'Date' dimension from the 'TMC_CUBE_TESCO' database was being processed. 
Errors in the OLAP storage engine: The process operation ended because the number of errors encountered during processing reached the defined limit of allowable errors for the operation. 
Server: The operation has been cancelled. 

내가이 SELECT 문 힙을 처리하지만 것을 볼 수 날짜 차원에 대한 전체 내용을 볼 때 여기까지 떨어지면 :

SELECT DISTINCT [dbo_dw_DIMdate].[DateTime] AS [dbo_dw_DIMdateDateTime0_0],[dbo_dw_DIMdate].[DayOfMonth] AS [dbo_dw_DIMdateDayOfMonth0_1],[dbo_dw_DIMdate].[MonthNumberCalendar] AS [dbo_dw_DIMdateMonthNumberCalendar0_2],[dbo_dw_DIMdate].[YearCalendar] AS [dbo_dw_DIMdateYearCalendar0_3] 
FROM [dbo].[dw_DIMdate] AS [dbo_dw_DIMdate] 
Processing Dimension Attribute 'Date ID' failed. 1 rows have been read. 
Start time: 10/21/2011 10:30:35 PM; End time: 10/21/2011 10:30:35 PM; Duration: 0:00:00 
SQL queries 1 

SELECT DISTINCT [dbo_dw_DIMdate].[DateID] AS [dbo_dw_DIMdateDateID0_0],[dbo_dw_DIMdate].[DayOfCalendarYear] AS [dbo_dw_DIMdateDayOfCalendarYear0_1],[dbo_dw_DIMdate].[DayOfFiscalYear] AS [dbo_dw_DIMdateDayOfFiscalYear0_2],[dbo_dw_DIMdate].[DayOfWeek] AS [dbo_dw_DIMdateDayOfWeek0_3],[dbo_dw_DIMdate].[IsCalendarYearToDate] AS [dbo_dw_DIMdateIsCalendarYearToDate0_4],[dbo_dw_DIMdate].[IsFiscalYearToDate] AS [dbo_dw_DIMdateIsFiscalYearToDate0_5],[dbo_dw_DIMdate].[IsLastCalendarMonth] AS [dbo_dw_DIMdateIsLastCalendarMonth0_6],[dbo_dw_DIMdate].[IsLastWeek] AS [dbo_dw_DIMdateIsLastWeek0_7],[dbo_dw_DIMdate].[IsWeekDay] AS [dbo_dw_DIMdateIsWeekDay0_8],[dbo_dw_DIMdate].[IsYesterday] AS [dbo_dw_DIMdateIsYesterday0_9],[dbo_dw_DIMdate].[DateTime] AS [dbo_dw_DIMdateDateTime0_10],[dbo_dw_DIMdate].[DayOfWeekName_engb] AS [dbo_dw_DIMdateDayOfWeekName_engb0_11],[dbo_dw_DIMdate].[ShortDayOfWeekName_engb] AS [dbo_dw_DIMdateShortDayOfWeekName_engb0_12],[dbo_dw_DIMdate].[WeekNumberCalendar] AS [dbo_dw_DIMdateWeekNumberCalendar0_13],[dbo_dw_DIMdate].[WeekNumberFiscal] AS [dbo_dw_DIMdateWeekNumberFiscal0_14],[dbo_dw_DIMdate].[WeekCommencing] AS [dbo_dw_DIMdateWeekCommencing0_15],[dbo_dw_DIMdate].[YearFiscal] AS [dbo_dw_DIMdateYearFiscal0_16],[dbo_dw_DIMdate].[YearCalendar] AS [dbo_dw_DIMdateYearCalendar0_17],[dbo_dw_DIMdate].[IsLastCalendarWeek] AS [dbo_dw_DIMdateIsLastCalendarWeek0_18] 
FROM [dbo].[dw_DIMdate] AS [dbo_dw_DIMdate] 
Error Messages 1 
을 내가 Date 차원을 재 처리 할 때 나는 다음과 같은 수

"보낸 사람 코드"는 아니지만 오류 메시지와 문제를 이해하는 데 도움이 될 것입니다.

+0

큐브를 처음부터 재구성 해보십시오. 증분은 잊어 버리십시오. 그것은 옛날 컴퓨터를 다시 시작한 것입니다 ;-). – ic3

답변

3

증분이 아닌 전체 모드로 DB를 처리해야합니다 (DB의 크기가 그리 크지 않은 경우). 그러나 그것은 단지 하나의 접근법입니다. 또한 사전 (차원의 원본 테이블)에 문제가있을 수 있습니다. 프로세스 창에서 쿼리 사용 - 속성 ID 및 속성 이름 필드에 대해 동일한 고유 카운트를 얻으려고합니다.

+4

우리는 실패한 몇 가지 차원을 가지고 있었기 때문에 각각에 대해 전체 업데이트를 수행 한 다음 큐브가 다시 활기를 띠게되었습니다. 큐브/차원을 처리 할 때 프로세스 옵션 (오른쪽 위)을 마우스 오른쪽 단추로 클릭하면 프로세스 전체 설정이 표시됩니다. –