ผลิตภัณฑ์ของ SharePoint และเทคโนโลยีตัวช่วยสร้างการกำหนดค่าล้มเหลวหลังจากที่คุณติดตั้งการปรับปรุงที่มีการสะสมใด ๆ หรือ service pack สำหรับโครงการ Server 2007 ที่ถูกนำออกใช้ ใน 2008 ตุลาคม หรือในภายหลัง

ข้อมูลสำคัญ: บทความนี้แปลโดยซอฟต์แวร์การแปลด้วยคอมพิวเตอร์ของ Microsoft แทนที่จะเป็นนักแปลที่เป็นบุคคล Microsoft มีบทความที่แปลโดยนักแปลและบทความที่แปลด้วยคอมพิวเตอร์ เพื่อให้คุณสามารถเข้าถึงบทความทั้งหมดในฐานความรู้ของเรา ในภาษาของคุณเอง อย่างไรก็ตาม บทความที่แปลด้วยคอมพิวเตอร์นั้นอาจมีข้อบกพร่อง โดยอาจมีข้อผิดพลาดในคำศัพท์ รูปแบบการใช้ภาษาและไวยากรณ์ เช่นเดียวกับกรณีที่ชาวต่างชาติพูดผิดเมื่อพูดภาษาของคุณ Microsoft ไม่มีส่วนรับผิดชอบต่อความคลาดเคลื่อน ความผิดพลาดหรือความเสียหายที่เกิดจากการแปลเนื้อหาผิดพลาด หรือการใช้บทแปลของลูกค้า และ Microsoft มีการปรับปรุงซอฟต์แวร์การแปลด้วยคอมพิวเตอร์อยู่เป็นประจำ

971217
บทความนี้ถูกเก็บถาวรแล้วเนื้อหาของบทความจึงถูกนำเสนอ "ตามลักษณะที่เป็น" และจะไม่มีการปรับปรุงข้อมูลอีก
อาการ
หลังจากที่คุณติดตั้งการปรับปรุงที่มีการสะสมใด ๆ หรือ service pack สำหรับ Microsoft Office โครงการ Server 2007 ที่ถูกนำออกใช้ ใน 2008 ตุลาคม หรือใหม่กว่า ผลิตภัณฑ์ของ SharePoint และเทคโนโลยีตัวช่วย สร้างการกำหนดค่าล้มเหลว นอกจากนี้ ข้อความแสดงข้อผิดพลาดต่อไปนี้บันทึกลงในแฟ้ม Upgrade.log:

“ Microsoft.Office.Project.Server.Upgrade.ReportingDatabaseUpgrader_12_1_153_0.Upgrade() ” งบที่ DELETE conflicted มีข้อจำกัดของข้อมูลอ้างอิง "FK_MSP_TimesheetLine_TaskNameUID" ความขัดแย้งเกิดขึ้นในฐานข้อมูล " TaskConsistency_ <instance_name> _Reporting ", ตาราง "dbo.MSP_TimesheetLine" คอลัมน์ 'TaskNameUID' คำสั่งได้ถูกหยุดการทำงาน เมื่อ System.Data.SqlClient.SqlConnection.OnError (SqlException ข้อยกเว้น breakConnection บูลีน) ที่ System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj) ที่ System.Data.SqlClient.TdsParser.Run (RunBehavior runBehavior, cmdHandler SqlCommand, dataStream SqlDataReader, BulkCopySimpleResultSet bulkCopyHandler, stateObj TdsParserStateObject) ที่ System.Data.SqlClient.SqlCommand.RunExecuteNonQueryTds (สตริงการ methodName, async บูลีน) ที่ System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery (ผลลัพธ์ DbAsyncResult, methodName สตริงการ sendToPipe บูลีน) ที่ System.Data.SqlClient.SqlCommand.ExecuteNonQuery() ที่ Microsoft.Office.Server.Data.SqlSession.ExecuteScript (textReader TextReader, commandTimeout Int32) ที่ Microsoft.SharePoint.Upgrade.SPDatabaseAction.ExecuteSql (สตริง sql, Int32 commandTimeout) ที่ Microsoft.SharePoint.Upgrade.SPDatabaseAction.ExecuteSql (สตริง sql) ที่ Microsoft.Office.Project.Server.Upgrade.ReportingDatabaseUpgrader_12_1_153_0.Upgrade() ที่ Microsoft.SharePoint.Upgrade.SPActionSequence.Upgrade() </instance_name>
หมายเหตุ:โดยค่าเริ่มต้น แฟ้ม Upgrade.log อยู่ในโฟลเดอร์ต่อไปนี้: %ProgramFiles%\Common Extensions\Logs\ Server Shared\Web Files\Microsoft
สาเหตุ
ปัญหานี้เกิดขึ้นเนื่องจากเงื่อนไขที่เฉพาะเจาะจงมากในฐานข้อมูลเพื่อการรายงาน ในขนาดเล็กมากจำนวนกรณี อาจมีระเบียนที่ซ้ำกันในฐานข้อมูลเพื่อการรายงาน ระเบียนที่ซ้ำกันเหล่านี้อาจทำให้ผลิตภัณฑ์ของ SharePoint และเทคโนโลยีตัวช่วยสร้างการกำหนดค่าล้มเหลว
การแก้ไข
ก่อนที่คุณติดตั้งการปรับปรุงสะสมของโครงการ Server 2007 ใด ๆ หรือ service pack ที่นำออกใช้ ใน 2008 ตุลาคม หรือใหม่กว่า ใช้สคริปต์ต่อไปนี้เพื่อตรวจสอบเงื่อนไขในฐานข้อมูลเพื่อการรายงาน

หมายเหตุ
  • เฉพาะ รันสคริปต์นี้ตรวจหาครั้งเดียว ถ้าคุณได้รับข้อความแสดงค่าบวกที่เรียกใช้สคริปต์การกู้คืน ไม่เรียกใช้สคริปต์การตรวจสอบเป็นครั้งที่สองได้เนื่องจากนั้นจะแสดงเป็นค่าบวกอีกครั้งถึงแม้ว่าไม่มีอีกปัญหา ถ้าคุณเรียกใช้สคริปต์การตรวจสอบเป็นครั้งที่สอง และยัง ได้รับผลลัพธ์ที่เป็นค่าบวก เป็นค่าบวกที่เท็จ และนี่คือ โดยการออกแบบ มีเขียนสคริปต์ตรวจหาเป็นสำคัญมากในการบ่งชี้ใด ๆ ของปัญหาที่ทำให้เกิดความล้มเหลว สคริปต์การแก้ไข อย่างไรก็ตาม คือ pinpointed ในการแก้ไขปัญหาที่แน่นอนซึ่งทำให้เกิดความล้มเหลว ถ้าคุณ re-run สคริปต์ตรวจหา เป็นไปได้ที่มีอยู่ยังคงบางรายละเอียดเพียงเล็กน้อยในฐานข้อมูลของคุณที่มีการเบิกสินค้า แต่สคริปต์การแก้ไขจะมีอยู่แล้วถาวรหลักของความล้มเหลว
  • ถ้าคุณมีการติดตั้งเริ่มต้นของโครงการ Server ชื่อของฐานข้อมูลมีชื่อ ProjectServer_Reporting นอกจากนี้คุณสามารถตรวจสอบชื่อของฐานข้อมูลเพื่อการรายงานที่เกี่ยวข้องกับไซต์ 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 ซึ่งมีการระบุไว้ในส่วน "การใช้งาน"
ข้อมูลเพิ่มเติม
ถ้านี่เป็นปัญหาสำหรับการจัดวาง นั้นเท่านั้นจะมีปัญหาหนึ่งครั้ง ดังนั้น คุณไม่จำเป็นต้องเรียกใช้สคริปต์นี้หากมีเงื่อนไขใด ๆ ต่อไปนี้เป็นจริง:
  • มีโครงการ Server 2007 สะสมเดที่นำออกใช้ ใน 2008 ตุลาคม หรือใหม่กว่าถูกปรับใช้เรียบร้อยแล้ว
  • 2007 Office Servers Service Pack 2 จะปรับใช้เรียบร้อยแล้ว
ข้อมูลสำคัญ
คุณจะยังสังเกตตารางรุ่นของที่อยู่ในฐานข้อมูลเพื่อการรายงานจะมีลักษณะเหมือนกับข้อความนี้:
VersionId Version 00000000-0000-0000-0000-000000000000 12.0.4518.1016 00000000-0000-0000-0000-000000000000 12.0.6218.1000 00000000-0000-0000-0000-000000000000 12.0.6300.5000 00000000-0000-0000-0000-000000000000 12.0.6318.5000 00000000-0000-0000-0000-000000000000 12.0.6327.5000 A1EF27C5-A62C-44A2-BEA8-D244C622A092 12.1.152.0
บรรทัดแรกของการบางอย่างจะขึ้นอยู่กับการปรับรุ่นต่าง ๆ ถูกโหลดไว้ก่อนหน้านี้ แต่บรรทัดสุดท้าย signifies ว่า ขั้นตอนการปรับรุ่นเสร็จเรียบร้อยแล้วที่สุดท้ายถูก 152 และไม่สามารถดำเนินการปรับรุ่นสำหรับ 12_1_153

คำเตือน: บทความนี้ได้รับการแปลโดยอัตโนมัติ

คุณสมบัติ

รหัสบทความ: 971217 - การตรวจสอบครั้งสุดท้าย: 01/15/2015 19:54:06 - ฉบับแก้ไข: 6.0

  • Microsoft Office Project Server 2007
  • kbnosurvey kbarchive kbexpertiseinter kbtshoot kbsurveynew kbprb kbmt KB971217 KbMtth
คำติชม