ข้ามไปที่เนื้อหาหลัก
การสนับสนุน
ลงชื่อเข้าใช้
ลงชื่อเข้าใช้ด้วย Microsoft
ลงชื่อเข้าใช้หรือสร้างบัญชี
สวัสดี
เลือกบัญชีอื่น
คุณมีหลายบัญชี
เลือกบัญชีที่คุณต้องการลงชื่อเข้าใช้

อาการ

หมายเลขของเร็กคอร์ดในตารางเงาที่สร้างขึ้นในการเพิ่มฟิลด์สถานะองค์กรใน Microsoft โครงการ Server 2010 อย่างรวดเร็ว ปัญหานี้ทำให้เกิดปัญหาประสิทธิภาพการทำงาน

การแก้ปัญหา

เมื่อต้องการแก้ไขปัญหานี้ ใช้แพคเกจโปรแกรมแก้ไขด่วนต่อไปนี้:

2597138คำอธิบายของแพคเกจโปรแกรมแก้ไขด่วนโครงการ Server 2010 (Pjsrvwfe-x-none.msp): 28 กุมภาพันธ์ 2012

ข้อมูลเพิ่มเติม

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

  • ทำสำเนาสำรองของฐานข้อมูลเซิร์ฟเวอร์โครงการก่อนที่คุณเรียกใช้สคริปต์

  • เมื่อต้องการหลีกเลี่ยงปัญหาเกี่ยวกับเนื้อหาของฐานข้อมูลที่ไม่คาดคิด หยุดบริการคิวบนเซิร์ฟเวอร์แอพลิเคชันโครงการเมื่อไม่มีกิจกรรมใด ๆ บนเซิร์ฟเวอร์เป็นเวลาหลาย ๆ ชั่วโมง

  • ตรวจสอบสคริปต์ในสภาพแวดล้อมการพัฒนา โดยใช้สำเนาสำรองของฐานข้อมูลเซิร์ฟเวอร์โครงการปัจจุบัน

  • เวลาว่าระยะเวลาที่ใช้ในสภาพแวดล้อมการพัฒนาสคริปต์เสร็จสมบูรณ์ เวลาที่จำเป็นให้ลบสคริปต์เสร็จสมบูรณ์ขึ้นอยู่กับ SQL server และจำนวนของระเบียนที่จะถูกเอาออก ตรวจสอบให้แน่ใจว่า สคริปต์เสร็จสมบูรณ์ภายในเวลาวางแผนไว้

การล้างระเบียนตารางเงาในจำนวนมาก ให้ทำตามขั้นตอนเหล่านี้:

  1. เรียกใช้สคริปต์ต่อไปนี้ในฐานข้อมูลแบบร่างและเผยแพร่ และเนื้อที่ว่างในฐานข้อมูล:

    --Clean up       MSP_TASK_CUSTOM_FIELD_VALUES_SHADOW 
    IF object_id('tempdb..#TempTaskCFShadow') IS NOT NULL
    BEGIN
    drop table #TempTaskCFShadow
    END

    CREATE table #TempTaskCFShadow (pid uniqueidentifier, tid uniqueidentifier, revCount int, mdpid uniqueidentifier)

    INSERT #TempTaskCFShadow (pid, tid, revCount, mdpid)
    SELECT PROJ_UID, TASK_UID, MAX(DELETED_REV_COUNTER), MD_PROP_UID
    FROM MSP_TASK_CUSTOM_FIELD_VALUES_SHADOW
    GROUP BY PROJ_UID , TASK_UID, MD_PROP_UID

    DELETE
    FROM MSP_TASK_CUSTOM_FIELD_VALUES_SHADOW
    FROM MSP_TASK_CUSTOM_FIELD_VALUES_SHADOW as originalTable, #TempTaskCFShadow AS newtable
    where originalTable.MD_PROP_UID = newtable.mdpid AND
    originalTable.PROJ_UID = newtable.pid AND
    originalTable.TASK_UID = newtable.tid AND
    originalTable.DELETED_REV_COUNTER <> newtable.revCount

    DROP TABLE #TempTaskCFShadow

    --Clean up MSP_ASSN_CUSTOM_FIELD_VALUES_SHADOW
    IF object_id('tempdb..#TempAssnCFShadow') IS NOT NULL
    BEGIN
    drop table #TempAssnCFShadow
    END

    CREATE table #TempAssnCFShadow (pid uniqueidentifier, asid uniqueidentifier, revCount int, mdpid uniqueidentifier)

    INSERT #TempAssnCFShadow (pid, asid, revCount, mdpid)
    SELECT PROJ_UID, assn_uid, MAX(DELETED_REV_COUNTER), MD_PROP_UID
    FROM MSP_ASSN_CUSTOM_FIELD_VALUES_SHADOW
    GROUP BY PROJ_UID , ASSN_UID, MD_PROP_UID

    DELETE
    FROM MSP_ASSN_CUSTOM_FIELD_VALUES_SHADOW
    FROM MSP_ASSN_CUSTOM_FIELD_VALUES_SHADOW as originalTable, #TempAssnCFShadow AS newtable
    where originalTable.MD_PROP_UID = newtable.mdpid AND
    originalTable.PROJ_UID = newtable.pid AND
    originalTable.ASSN_UID= newtable.asid AND
    originalTable.DELETED_REV_COUNTER <> newtable.revCount

    DROP TABLE #TempAssnCFShadow


    --Clean up MSP_PROJ_RES_CUSTOM_FIELD_VALUES_SHADOW
    IF object_id('tempdb..#TempProjResCFShadow') IS NOT NULL
    BEGIN
    drop table #TempProjResCFShadow
    END

    CREATE table #TempProjResCFShadow (pid uniqueidentifier, resid uniqueidentifier, revCount int, mdpid uniqueidentifier)

    INSERT #TempProjResCFShadow (pid, resid, revCount, mdpid)
    SELECT PROJ_UID, RES_UID, MAX(DELETED_REV_COUNTER), MD_PROP_UID
    FROM MSP_PROJ_RES_CUSTOM_FIELD_VALUES_SHADOW
    GROUP BY PROJ_UID , RES_UID, MD_PROP_UID

    DELETE
    FROM MSP_PROJ_RES_CUSTOM_FIELD_VALUES_SHADOW
    FROM MSP_PROJ_RES_CUSTOM_FIELD_VALUES_SHADOW as originalTable, #TempProjResCFShadow AS newtable
    where originalTable.MD_PROP_UID = newtable.mdpid AND
    originalTable.PROJ_UID = newtable.pid AND
    originalTable.RES_UID = newtable.resid AND
    originalTable.DELETED_REV_COUNTER <> newtable.revCount

    DROP TABLE #TempProjResCFShadow


    --Clean up MSP_PROJ_CUSTOM_FIELD_VALUES_SHADOW
    IF object_id('tempdb..#TempProjCFShadow') IS NOT NULL
    BEGIN
    drop table #TempProjCFShadow
    END

    CREATE table #TempProjCFShadow (pid uniqueidentifier, revCount int, mdpid uniqueidentifier)

    INSERT #TempProjCFShadow (pid, revCount, mdpid)
    SELECT PROJ_UID, MAX(DELETED_REV_COUNTER), MD_PROP_UID
    FROM MSP_PROJ_CUSTOM_FIELD_VALUES_SHADOW
    GROUP BY PROJ_UID , MD_PROP_UID

    DELETE
    FROM MSP_PROJ_CUSTOM_FIELD_VALUES_SHADOW
    FROM MSP_PROJ_CUSTOM_FIELD_VALUES_SHADOW as originalTable, #TempProjCFShadow AS newtable
    where originalTable.MD_PROP_UID = newtable.mdpid AND
    originalTable.PROJ_UID = newtable.pid AND
    originalTable.DELETED_REV_COUNTER <> newtable.revCount

    DROP TABLE #TempProjCFShadow
  2. เรียกใช้สคริปต์ต่อไปนี้กับฐานข้อมูลเผยแพร่หลังจากที่คุณเรียกใช้สคริปต์จากขั้นตอนที่ 1 ในฐานข้อมูลแบบร่างและเผยแพร่:

    --Clean up MSP_RES_CUSTOM_FIELD_VALUES_SHADOW

    IF object_id('tempdb..#TempResCFShadow') IS NOT NULL
    BEGIN
    drop table #TempResCFShadow
    END

    CREATE table #TempResCFShadow (resid uniqueidentifier, revCount int, mdpid uniqueidentifier)

    INSERT #TempResCFShadow (resid, revCount, mdpid)
    SELECT RES_UID, MAX(DELETED_REV_COUNTER), MD_PROP_UID
    FROM MSP_RES_CUSTOM_FIELD_VALUES_SHADOW
    GROUP BY RES_UID, MD_PROP_UID

    DELETE
    FROM MSP_RES_CUSTOM_FIELD_VALUES_SHADOW
    FROM MSP_RES_CUSTOM_FIELD_VALUES_SHADOW as originalTable, #TempResCFShadow AS newtable
    where originalTable.MD_PROP_UID = newtable.mdpid AND
    originalTable.RES_UID = newtable.resid AND
    originalTable.DELETED_REV_COUNTER <> newtable.revCount

    DROP TABLE #TempResCFShadow



สถานะ

Microsoft ยืนยันว่านี่เป็นปัญหาในผลิตภัณฑ์ของ Microsoft ซึ่งแสดงไว้ในส่วน "นำไปใช้กับ"

ต้องการความช่วยเหลือเพิ่มเติมหรือไม่

ต้องการตัวเลือกเพิ่มเติมหรือไม่

สํารวจสิทธิประโยชน์ของการสมัครใช้งาน เรียกดูหลักสูตรการฝึกอบรม เรียนรู้วิธีการรักษาความปลอดภัยอุปกรณ์ของคุณ และอื่นๆ

ชุมชนช่วยให้คุณถามและตอบคําถาม ให้คําติชม และรับฟังจากผู้เชี่ยวชาญที่มีความรู้มากมาย

ข้อมูลนี้เป็นประโยชน์หรือไม่

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

ขอบคุณสำหรับคำติชมของคุณ!

×