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

การแปลบทความ การแปลบทความ
หมายเลขบทความ (Article ID): 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 จะปรับใช้เรียบร้อยแล้ว

คุณสมบัติ

หมายเลขบทความ (Article ID): 971217 - รีวิวครั้งสุดท้าย: 18 กันยายน 2554 - Revision: 5.0
ใช้กับ
  • Microsoft Office Project Server 2007
Keywords: 
kbexpertiseinter kbtshoot kbsurveynew kbprb kbmt KB971217 KbMtth
แปลโดยคอมพิวเตอร์
ข้อมูลสำคัญ: บทความนี้แปลโดยซอฟต์แวร์การแปลด้วยคอมพิวเตอร์ของ Microsoft แทนที่จะเป็นนักแปลที่เป็นบุคคล Microsoft มีบทความที่แปลโดยนักแปลและบทความที่แปลด้วยคอมพิวเตอร์ เพื่อให้คุณสามารถเข้าถึงบทความทั้งหมดในฐานความรู้ของเรา ในภาษาของคุณเอง อย่างไรก็ตาม บทความที่แปลด้วยคอมพิวเตอร์นั้นอาจมีข้อบกพร่อง โดยอาจมีข้อผิดพลาดในคำศัพท์ รูปแบบการใช้ภาษาและไวยากรณ์ เช่นเดียวกับกรณีที่ชาวต่างชาติพูดผิดเมื่อพูดภาษาของคุณ Microsoft ไม่มีส่วนรับผิดชอบต่อความคลาดเคลื่อน ความผิดพลาดหรือความเสียหายที่เกิดจากการแปลเนื้อหาผิดพลาด หรือการใช้บทแปลของลูกค้า และ Microsoft มีการปรับปรุงซอฟต์แวร์การแปลด้วยคอมพิวเตอร์อยู่เป็นประจำ
ต่อไปนี้เป็นฉบับภาษาอังกฤษของบทความนี้:971217

ให้ข้อเสนอแนะ

 

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