Share via


執行 Migration Script 3 來擷取 Project Server 2003 資料快照

 

適用版本: Project Server 2010

上次修改主題的時間: 2011-04-18

Migration Script 3 是 Microsoft Office Project Server 2003 虛擬移轉環境 (VME) 中所包含的數個移轉指令碼之一,可協助移轉您的 Microsoft Office Project Server 2003 資料。請執行 Script 3 來為您計劃要移轉的 Project Server 2003 資料庫建立資料快照。指令碼會建立「專案」和「任務」資料表的資料快照,然後將此資訊儲存在此指令碼動態建立的資料表中。這個指令碼所儲存的結果,可稍後和移轉後的資料快照進行比較,以驗證所有的資料是否已成功移轉。

警告

此指令碼是 Microsoft Office Project Server 2003 虛擬移轉環境 (VME) 中包含的多個移轉前指令碼之一。執行指令碼是選擇性的,但強烈建議使用它來協助偵測可能會導致資料無法成功移轉的問題。如需可用之移轉前指令碼的詳細資訊,請參閱<Project Server VME:執行移轉前指令碼 (選擇性)>。

重要

這個指令碼需要一個空白資料庫來儲存結果。執行這個指令碼之前,請讓您的 SQL Server 資料庫管理員建立一個名為 “ProjectServer_Migration_Data_Validation” 的空白資料庫。請確認資料庫的名稱正確無誤,以確保指令碼可使用該資料庫。

執行 Script 3

  1. 在 VME 桌面上,按一下 [啟動移轉程序]。這會開啟顯示磁碟機 E 內容的 [Windows 檔案總管] 視窗。

  2. 在 [Windows 檔案總管] 中,按兩下下列資料夾:

    • 如果您具有一個 Project Server 2003 資料庫,請開啟 [Migrate_Proj_2003_Single_DB] 資料夾。

    • 如果您具有分割的 Project Server 2003 資料庫,請開啟 [Migrate_Proj_2003_Split_DB]。

  3. 開啟 [驗證指令碼] 資料夾,然後按一下 [VME Script 3.sql]。這將會開啟 Microsoft Office Project Server 2003 並顯示 Script 3。

  4. 按一下 [執行] 以執行指令碼。

  5. 指令碼所產生的結果會儲存至 ProjectServer_Migration_Data_Validation 資料庫的 dbo.Migration_PS2003_Data_Validation_Snapshot 資料表中。

Script 3

Script 3 包含下列程式碼:

/*---------------------------------------------------------------------------------------
-- Script A3: Capture Data Validation Snapshot for Project Server 2003 ---- Updated Jan 12, 2010
-- This script:
-- 1. drops the PS2003 Validation Snapshot table if it exists from the Migration Validation 
      Database previously created
   2. Reads the Project Server 2003 SP2a database to extract Projects and Tasks information
   3. Stores the output dataset into a new table created in the Migration Validation 
      Database
   This script requires to set the database names of the Migration Validation Database and the 
   Project Server 2003 database in the USE statements 
 ----------------------------------------------------------------------------------------------*/
USE ProjectServer_Migration_Data_Validation
IF EXISTS (SELECT id FROM dbo.sysobjects WHERE id = OBJECT_ID(N'MIgration_PS2003_Data_Validation_Snapshot')
AND OBJECTPROPERTY(id, N'IsUserTable') = 1)
DROP TABLE dbo.Migration_PS2003_Data_Validation_Snapshot
GO
USE [Project2003SourceDB]
GO
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
GO
SELECT p11p.proj_name as N'Project Name',
        p11p.proj_id as 'Project ID',
        p11p.proj_version as N'Project Version',
        p11p.proj_info_start_date as N'Proj Start Date',
        p11p.proj_info_finish_date as N'Proj Finish Date',
        p11p.proj_info_status_date as N'Proj Status Date',
        p11p.proj_info_cal_name as N'Proj Calendar Name',
        p11p.proj_type as N'Proj Type',   
        p11t.task_name as N'Task Name',
        p11t.task_uid as N'Task UID',
        p11t.task_type as N'Task Type',
        p11t.task_start_date as N'Task Start Date',
        p11t.task_finish_date as N'Task Finish Date',
        p11t.task_act_start as N'Task Act Start',
        p11t.task_act_finish as N'Task Act Finish',
        p11t.task_constraint_date as N'Task Constraint Date',
        p11t.task_deadline as N'Task Deadline',
        p11t.task_work as N'Task Work',
        p11t.task_act_work as N'Task Actual Work',
        p11t.task_rem_work as N'Task Rem Work',
        p11t.task_ovt_work as N'Task Ovt Work',
        p11t.task_act_ovt_work as N'Task Actual Ovt Work',
        p11t.task_rem_ovt_work as N'Task Rem Ovt Work',
        p11t.task_pct_comp as N'Task %Complete',
        p11t.task_pct_work_comp as N'Task %Work Complete',
        p11t.task_phy_pct_comp as N'Task % Phys Work Complete',
        p11t.task_dur as N'Task Duration',
        p11t.task_rem_dur as N'Task Rem Duration',
        p11t.task_act_dur as N'Task Actual Duration',
        p11t.task_is_milestone as N'Task Milestone',
        p11t.task_cost as N'Task Cost',
        p11t.task_fixed_cost as N'Task Fixed Cost',
        p11t.task_act_cost as N'Task Actual Cost',
        p11t.task_rem_cost as N'Task Rem Cost',
        p11t.task_ovt_cost as N'Task Ovt Cost',
        p11t.task_act_ovt_cost as N'Task Actual Ovt Cost',
        p11t.task_rem_ovt_cost as N'Task Rem Ovt Cost'
INTO ProjectServer_Migration_Data_Validation.dbo.Migration_PS2003_Data_Validation_Snapshot

FROM msp_projects AS p11p,
msp_tasks AS p11t
WHERE (p11p.proj_id = p11t.proj_id)
  
ORDER BY 1,5