누적 업데이트 또는 2008년 이상에서 릴리스된 Project Server 2007 서비스 팩을 설치한 후 SharePoint 제품 및 기술 구성 마법사 실패합니다.

기술 자료 번역 기술 자료 번역
기술 자료: 971217 - 이 문서가 적용되는 제품 보기.
모두 확대 | 모두 축소

현상

누적 업데이트를 설치한 후 또는 Microsoft Office Project Server 2008년 이상에서 릴리스된 2007, SharePoint 제품 및 기술 구성 마법사 서비스 팩이 실패합니다. 또한 Upgrade.log 파일에서 다음과 같은 오류 메시지가 기록될.

“ Microsoft.Office.Project.Server.Upgrade.ReportingDatabaseUpgrader_12_1_153_0.Upgrade() ” REFERENCE 제약 조건과 DELETE 문은 충돌 "FK_MSP_TimesheetLine_TaskNameUID". 데이터베이스에 충돌이 발생한 "TaskConsistency_ <instance_name> _Reporting", 테이블 "dbo.MSP_TimesheetLine", 열 'TaskNameUID'. 문이 종료되었습니다. at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection) at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj) at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj) at System.Data.SqlClient.SqlCommand.RunExecuteNonQueryTds(String methodName, Boolean async) at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(DbAsyncResult result, String methodName, Boolean sendToPipe) at System.Data.SqlClient.SqlCommand.ExecuteNonQuery() at Microsoft.Office.Server.Data.SqlSession.ExecuteScript(TextReader textReader, Int32 commandTimeout) at Microsoft.SharePoint.Upgrade.SPDatabaseAction.ExecuteSql(String sql, Int32 commandTimeout) at Microsoft.SharePoint.Upgrade.SPDatabaseAction.ExecuteSql(String sql)at Microsoft.Office.Project.Server.Upgrade.ReportingDatabaseUpgrader_12_1_153_0.Upgrade() at Microsoft.SharePoint.Upgrade.SPActionSequence.Upgrade()
참고 기본적으로 Upgrade.log 파일은 다음 폴더에 있습니다: %ProgramFiles%\Common Files\Microsoft Shared\Web 서버 Extensions\Logs\

원인

이 문제를 보고 데이터베이스의 매우 특정한 조건 때문에 발생합니다. 사례에 매우 적은 수의 있을 수 중복 레코드를 보고 데이터베이스에 있습니다. 이러한 중복 레코드를 SharePoint 제품 및 기술 구성 마법사 장애를 일으킬 수 있습니다.

해결 방법

모든 Project Server 2007 누적 업데이트 또는 2008년 이상에서 출시된 서비스 팩을 설치하기 전에 다음 스크립트를 사용하여 보고 데이터베이스의 조건이 있는지 확인하십시오.

슬라이드 노트
  • 경우에만 이 검색 스크립트를 한 번 실행하십시오. 다음 복구 스크립트를 실행하여 양수 나타날 경우. 문제가 더 이상 경우에도 양수 다시 표시합니다. 때문에 두 번째 검색 스크립트를 실행하지 마십시오. 두 번째 검색 스크립트를 실행하고 여전히 긍정적인 결과를 얻을 수 있으면 허위 세그먼트와 의도적으로 설계된 동작입니다. 검색 스크립트 오류를 일으키는 문제의 모든 표시를 매우 중요한 수 있도록 작성되었습니다. 그러나 오류를 일으키는 정확한 문제 해결 시 수정 스크립트 pinpointed. 검색 스크립트를 다시 실행하여 경우 여전히 일부 거의 세부 데이터베이스에서 선택하는 것은 없지만 수정 스크립트 오류가 발생한 루트 이미 고정 가질 것입니다 것이 가능합니다.
  • Project Server 기본 설치의 경우 데이터베이스의 이름은 ProjectServer_Reporting이 지정됩니다. 또한 Project Server 사이트와 SharePoint 중앙 관리 웹 사이트를 통해 연결된 보고 데이터베이스의 이름을 확인할 수 있습니다.

IF
(
      SELECT
            DuplicatesCount = COUNT(*)
      FROM  (
                        -- Returns the TaskUID and the Latest date that are duplicates, along with the number of times they are duplicated
                        SELECT
                              TSTask.TaskUID,
                              TSTask.LatestDate,
                              DuplicatesCount = COUNT(TSTask.TaskNameUID)
                        FROM (
                                          -- This will return a 'copy' of the MSP_TimesheetTask table, but with the TaskUID fixed (by looking at the Assignments table)
                                          SELECT
                                                distinct(MSP_TimesheetTask.TaskNameUID), --Distinct, because when joining with lines we will have one row for each line, and so on
                                                MSP_TimesheetTask.LatestDate,
                                                TaskUID = ISNULL(MSP_EpmAssignment.TaskUID, MSP_TimesheetTask.TaskUID)
                                          FROM dbo.MSP_TimesheetTask
                                          LEFT OUTER JOIN MSP_TimesheetLine
                                                ON MSP_TimesheetLine.TaskNameUID = dbo.MSP_TimesheetTask.TaskNameUID
                                          LEFT OUTER JOIN dbo.MSP_TimesheetProject
                                                ON MSP_TimesheetLine.ProjectNameUID = MSP_TimesheetProject.ProjectNameUID
                                          LEFT OUTER JOIN dbo.MSP_EpmAssignment
                                                ON MSP_EpmAssignment.ProjectUID = MSP_TimesheetProject.ProjectUID AND
                                                      MSP_EpmAssignment.AssignmentUID = MSP_TimesheetLine.AssignmentUID
                                ) AS TSTask
                        GROUP BY TSTask.TaskUID, TSTask.LatestDate --Define groups: all the rows that have the same TaskUID and LatestDate
                        HAVING COUNT(TSTask.TaskNameUID) > 1 --See if we have any groups that have more than one row in them. If there are this means the old upgrade will fail.
                  ) AS Duplicates
) > 0
      PRINT 'A correctable data issue has been detected.  Please run the data correction script before upgrading your installation.'
ELSE
      PRINT 'No data issues were detected.  You can continue with your upgrade.'
이 스크립트는 긍정적인 결과를 제공하는 경우 Microsoft 고객 지원 문의하십시오 이 문제를 해결하십시오.

현재 상태

Microsoft는 "본 문서의 정보는 다음의 제품에 적용됩니다." 절에 나열된 Microsoft 제품에서 이 문제를 확인했습니다.

추가 정보

이 문제에 대한 배포 경우에는 해당 경우에만 문제가 한 번만 표시됩니다. 따라서 다음 조건 중 하나가 참일 경우 이 스크립트를 실행할 필요가 없습니다.
  • 2008년 10월 이상에서 릴리스된 모든 Project Server 2007 누적 업데이트가 배포되었습니다.
  • 2007 Office 서버 서비스 팩 2 배포했습니다.

속성

기술 자료: 971217 - 마지막 검토: 2009년 10월 30일 금요일 - 수정: 3.0
본 문서의 정보는 다음의 제품에 적용됩니다.
  • Microsoft Office Project Server 2007
키워드:?
kbmt kbexpertiseinter kbtshoot kbsurveynew kbprb KB971217 KbMtko
기계 번역된 문서
중요: 본 문서는 전문 번역가가 번역한 것이 아니라 Microsoft 기계 번역 소프트웨어로 번역한 것입니다. Microsoft는 번역가가 번역한 문서 및 기계 번역된 문서를 모두 제공하므로 Microsoft 기술 자료에 있는 모든 문서를 한글로 접할 수 있습니다. 그러나 기계 번역 문서가 항상 완벽한 것은 아닙니다. 따라서 기계 번역 문서에는 마치 외국인이 한국어로 말할 때 실수를 하는 것처럼 어휘, 구문 또는 문법에 오류가 있을 수 있습니다. Microsoft는 내용상의 오역 또는 Microsoft 고객이 이러한 오역을 사용함으로써 발생하는 부 정확성, 오류 또는 손해에 대해 책임을 지지 않습니다. Microsoft는 이러한 문제를 해결하기 위해 기계 번역 소프트웨어를 자주 업데이트하고 있습니다.

피드백 보내기

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com