對 Project Server 2007 的移轉進行疑難排解
更新日期: 2009年5月
上次修改主題的時間: 2009-04-29
本文內容:
疑難排解之前:檢查 Project Server 2007 中的功能
錯誤記錄
還原 Project Server 2007 資料庫
已移轉的使用者和權限問題
驗證問題
移轉流程圖
本文說明執行 Microsoft Office Project Server 2007 移轉程序期間發生問題時可用的處理方式。
疑難排解之前:檢查 Project Server 2007 中的功能
繼續進一步疑難排解之前,請先檢查 Microsoft Office Project Server 2007 本身是否運作正常。先釐清問題出在移轉程序或 Office Project Server 2007 設定,可以節省您的時間。
在 Project Server 電腦上建立新的 Project Web Access 執行個體。請確定這個執行個體不是做為移轉之用。完成疑難排解之後,您就可以刪除這個執行個體。
在執行 Microsoft Office Project Professional 2007 的電腦上,在新建立的 Project Web Access 執行個體上建立、儲存和發佈專案。請確認是否可以在 [專案中心] 中開啟該專案。如果無法開啟,可能 Office Project Server 2007 設定上有問題。
確認佇列服務和事件服務是否都在應用程式伺服器上執行。
錯誤記錄
對移轉程序進行疑難排解時,必須知道該在何處尋找任何相關的錯誤記錄資訊。本節說明數個具有錯誤記錄資訊的機制。
檢視 [佇列管理] 頁面,檢查是否有任何工作處於失敗狀態。請查看這些項目的 [錯誤] 欄,看看是否提供有關問題的任何線索。
檢視升級記錄檔。您可以在移轉設定檔指定的路徑中找到此檔。此檔案會提供移轉過程所發生的失敗詳細說明。
查看伺服器的事件記錄檔和追蹤記錄檔。
若要開啟並檢視事件記錄檔,請在伺服器電腦上按一下 [開始]、[執行],輸入 Eventvwr,然後按一下 [確定]。接著,按一下 [應用程式] 節點。這個動作會列示出伺服器上所引發的應用程式事件。
若要開啟並檢視追蹤記錄檔,請在伺服器電腦上移至下列資料夾:<磁碟機>:\program files\common files\Microsoft Shared\web server extensions\12\LOGS。ULS 追蹤記錄檔會以下列格式命名:<伺服器名稱>-yyyymmdd-time.log (例如,contoso-20060720-1506.log)。
如果您無法從記錄檔決定失敗的原因,並且規劃連絡 Microsoft 產品支援服務以尋求協助,請準備好下列資訊:
升級記錄檔 (位於您在移轉設定檔中指定的路徑)
附註: 請確定伺服器會寫入詳細記錄檔,這可確保記載足夠資訊,以供偵錯之用。您可以在 [SharePoint 管理中心] 網站上 [診斷記錄] 頁面上的 [作業] 索引標籤中,設定這個參數。另外在這個頁面上的 [事件節流] 區段中,設定下列參數:
回報至事件記錄的最低緊急事件:成功
回報至追蹤記錄的最低緊急事件:詳細資訊請按一下 [確定] 儲存設定。您可以檢查是否已經儲存設定。若要執行這項操作,請在相同區段的 [更新單一類別] 清單中,選取一個類別並確認設定是相同的。
**事件記錄檔複本:**若要執行這項操作,請開啟事件記錄檔,以滑鼠右鍵按一下 [應用程式] 節點並選取 [另存記錄檔]。這可讓您將事件記錄儲存成檔案,以便將它傳送給 Microsoft 產品支援服務。
附註: 請務必重現問題,才能確保這個問題會記錄在事件記錄檔和追蹤記錄檔中。 **最新追蹤記錄檔的複本:**如果您要傳送追蹤資訊,以供偵錯之用,請在伺服器上重現問題並傳送最新的兩個或三個追蹤記錄檔。您可以根據每個檔案名稱上的日期及時間戳記來識別記錄檔。
Project Server 2003 資料庫檔案的複本
如果移轉工具停止回應,就會出現 Microsoft Office Project 對話方塊,讓您可以透過 Microsoft 產品支援服務進一步疑難排解問題。在對話方塊中,選取 [回報此問題],將這個問題傳送給產品支援服務。送出錯誤報告之後,請移至事件檢視器,尋找事件識別碼 = 1001 的事件,將描述欄位中的內容複製到文字編輯器並傳送給您的產品支援服務連絡人。
將 Office Project Server 2007 還原至乾淨狀態,然後再次執行移轉。您可以選擇不重新佈建 Office Project Server 2007 執行個體,改而還原乾淨的 Office Project Server 2007 資料庫備份和 Project Server 2003 資料庫備份,然後再次執行升級程序。如需如何還原 Office Project Server 2007 資料庫乾淨備份的詳細資訊,請參閱下一節。
在升級記錄檔中尋找錯誤、警告和失敗
您可以在命令提示字元中執行下列命令,以便在升級記錄檔中尋找並編譯警告、錯誤和失敗。
若要在升級記錄檔中尋找表示警告的所有行,請執行下列命令:
Find /I "warning" <source log files> >> <output file>
例如:
Find /I "warning" c:\myupgradelog.log >> c:\errors.log
若要在升級記錄檔中尋找表示錯誤的所有行,請執行下列命令:
Find /I "error" <source log files> >> <output file>
例如:
Find /I "error" c:\myupgradelog.log >> c:\errors.log
若要在升級記錄檔中尋找表示失敗的所有行,請執行下列命令:
Find /I "fail" <source log files> >> <output file>
例如:
Find /I "fail" c:\myupgradelog.log >> c:\errors.log
還原 Project Server 2007 資料庫
如果在資料移轉過程中遇到無法修復的問題,您可以還原 Office Project Server 2007 資料庫並再次執行升級程序。下列是還原 Office Project Server 2007 資料庫的範例指令碼。這不是硬性規定的指令碼,請視需要修改以符合您的需求。您必須在提供 OSQL 的電腦上執行這個指令碼。
Rem Note that if you have any open connections to the database,
Rem the Restore operation will fail. You can view open connections in
Rem Enterprise Manager:
Rem under <Server> - Management - Current Activity
Rem (hit F5 to refresh) - Process Info.
Rem You can stop a process by right-clicking, and choosing Kill Process.
echo off
set P12SQLServerName=<SQL Server Name>
Set publishedDB=<DB Name>
Set draftDB=<DB Name>
Set archiveDB=<DB Name>
Set ReportingDB=<DB Name>
Set RestorePublishedDB='<Full path of the backup>'
Set RestoreWorkingDB= '<Full path of the backup>'
Set RestorearchiveDB= '<Full path of the backup>'
Set RestoreReportingDB= '<Full path of the backup>'
Rem The following commands ensure that there are no open connections to
Rem the databases that we are restoring to. You can also do this manually.
Set SqlCmd="USE master ALTER DATABASE %publishedDB% SET SINGLE_USER WITH ROLLBACK IMMEDIATE"
osql -E -S %P12SQLServerName% -Q %SqlCmd%
Set SqlCmd="USE master ALTER DATABASE %draftDB% SET SINGLE_USER WITH ROLLBACK IMMEDIATE"
osql -E -S %P12SQLServerName% -Q %SqlCmd%
Set SqlCmd="USE master ALTER DATABASE %archiveDB% SET SINGLE_USER WITH ROLLBACK IMMEDIATE"
osql -E -S %P12SQLServerName% -Q %SqlCmd%
Set SqlCmd="USE master ALTER DATABASE %ReportingDB% SET SINGLE_USER WITH ROLLBACK IMMEDIATE"
osql -E -S %P12SQLServerName% -Q %SqlCmd%
Rem Restoring the database
set SqlCmd= "RESTORE DATABASE %publisheddb%
From disk = %RestorePublishedDB%
with replace RESTORE DATABASE %draftdb% From disk = %RestoreWorkingDB%
with replace RESTORE DATABASE %archivedb%
From disk = %RestorearchiveDB%
with replace RESTORE DATABASE %reportingdb%
From disk = %RestoreReportingDB% with replace"
osql -E -S %P12SQLServerName% -Q %SqlCmd%
Set SqlCmd="USE master ALTER DATABASE %publishedDB% SET MULTI_USER"
osql -E -S %P12SQLServerName% -Q %SqlCmd%
Set SqlCmd="USE master ALTER DATABASE %draftDB% SET MULTI_USER"
osql -E -S %P12SQLServerName% -Q %SqlCmd%
Set SqlCmd="USE master ALTER DATABASE %archiveDB% SET MULTI_USER"
osql -E -S %P12SQLServerName% -Q %SqlCmd%
Set SqlCmd="USE master ALTER DATABASE %ReportingDB% SET MULTI_USER"
osql -E -S %P12SQLServerName% -Q %SqlCmd%
Rem Clearing the cache
rd /s /q "%APPDATA%\Microsoft\MS Project\cache"
goto :Clean
:Clean
Rem To clean up the environment variables created
set P12SQLServerName=
Set RestorePublishedDB=
Set RestoreWorkingDB=
Set RestorearchiveDB=
Set RestoreReportingDB=
set SqlCmd=
Set publishedDB=
Set draftDB=
Set archiveDB=
Set ReportingDB=
已移轉的使用者和權限問題
完成移轉之後 (特別是在當地語系化的組建中),您的使用者在已移轉的 Office Project Server 2007 安裝中可能沒有某些預期權限。例如,假設您的權限是透過管理員範本所指派,但您卻無法檢視時程表。發生這種情況的可能原因如下:
在 Project Server 2003 中,權限在組織層級遭到拒絕。若要確認此問題,您可以檢查 Project Web Access 權限,看看是否有任何權限已停用,而這些權限是否為造成問題的原因。
若要檢查您的 Project Web Access 權限,請執行下列步驟:
在 Project Web Access 首頁的左窗格中,按一下 [伺服器設定]。
在 [伺服器設定] 的 [安全性] 區段中,按一下 [Project Web Access 權限]。
有些權限是 Office Project Server 2007 的新權限。這些權限可能無法在移轉過程中正確對應。您可以查看安全性文件中有關這些權限的清單,看看這些權限是否為造成問題的原因。如需 Office Project Server 2007 權限的詳細資訊,請參閱<Office Project Server 2007 的安全性和保護>。
如果 Office Project Server 2007 有某 Project Server 2003 使用者或資源存在 (不管是沿用原名稱或使用 Windows NT 帳戶),該使用者或資源的安全性權限將不會移轉。例如,如果您在移轉前已執行過「AD 同步處理」(並且大多數使用者都存在於 Project Server 2003 中),便不會移轉任何使用者權限。如果遇到這個問題,請將目標 Project Web Access 設定為 [空白],然後再次啟動移轉程序。
驗證問題
Project Server 驗證是用於 Project Server 2003,但 Office Project Server 2007 並不支援此機制。當您將已驗證的 Project Server 使用者移轉至 Office Project Server 2007 時,使用者帳戶一律會重新設定,因為 Office Project Server 2007 中的表單驗證機制在架構上不同於 Project Server 2003 中使用的 Project Server 驗證。您將不會在 Project Web Access [伺服器設定] 的 [管理使用者] 頁面中看到這些使用者,使用者的 [使用者驗證] 區段也不會出現。不過,您還是可以在 Project Web Access 的 [資源中心] 編輯這些已移轉的使用者。
資源資料庫中已移轉的資源最後可能與發佈資料庫不同步。
移轉主專案時的問題
當您將主專案及其相關的子專案從 Project Server 2003 移轉至 Office Project Server 2007 時,下列兩種情況將導致專案移轉失敗:
子專案在主專案之後移轉 (您可以在移轉設定檔中更正移轉的順序)。
專案屬於兩個不同主專案的子專案 (Project Server 2003 允許這種安排,但 Office Project Server 2007 不允許)。當嘗試發佈此專案時,此專案的移轉將會失敗。
移轉流程圖
下列流程圖以圖形表示資料如何從 Project Server 2003 移轉至 Office Project Server 2007。此流程圖可以用來解決移轉過程中可能發生的問題。
從 Project Server 2003 升級至 Office Project Server 2007 牽涉到 Windows 用戶端和 SQL Server 2000 升級步驟。
升級程序分成三個階段:
**全域資料升級階段:**將全域資料和 Project Web Access 資料升級至 Office Project Server 2007。
**專案資料升級階段:**將專案資料升級至 Office Project Server 2007。
**Windows SharePoint Services 資料升級階段:**僅在具有 Project Server 2003 專案的 Windows SharePoint Services 資料情況下才需要這個階段。這個階段會與執行移轉工具分開執行,因此,不包含在這個流程圖中。
下列流程圖分別說明升級程序的前兩個階段。