已知 Project Server 2010 升级问题的 SQL 脚本

 

适用于: Project Server 2010

上一次修改主题: 2016-11-30

已知升级问题的 SQL 脚本对 Office Project Server 2007 数据库运行数据有效性检查,以查找可能导致升级到 Project Server 2010 失败的已知条件。对计划升级到 Project Server 2010 的 Microsoft Office Project Server 2007 数据库(草稿、存档、已发布和报告数据库)运行此脚本。可以选择是否运行此脚本,但是强烈建议运行,以检测可能阻止成功升级数据的问题。

此脚本检查以下条件:

  • 未更新到 Service Pack 2 或更高版本的 Office Project Server 2007

  • 自安装 Office Project Server 2007 Service Pack 2 后未保存和发布的项目

  • 使用 Project Server 2010 中的保留名称的查找表

  • Project Server 2010 中保留的自定义域名

  • Office Project Server 2007 中必须迁移到 Excel Services 以供 Project Server 2010 使用的 Office Web 组件 (OWC) 视图

  • 使用经过表单身份验证的登录名的用户帐户

  • 不具有关联查找表或值的工作组名称

备注

虽然此脚本不会对 Office Project Server 2007 数据库进行任何更改,但是建议您对 Office Project Server 2007 数据库的已还原副本运行此脚本。还可以选择让只具有数据库读取权限的 SQL Server 帐户运行此脚本。

运行已知升级问题脚本

  1. 在包含 Office Project Server 2007 数据库的计算机上,打开 SQL Server Management Studio 数据库引擎。

  2. 在 Management Studio 中,单击“新建查询”。

  3. 将脚本文本复制并粘贴到 Management Studio 的“查询编辑器”窗口中。

    备注

    通过单击位于脚本顶部的“复制代码”链接,可以直接从本文将脚本文件复制到剪贴板上。

  4. 在“查询编辑器”中粘贴脚本文本后,必须对其进行以下更改:

    • 编辑 USE <ProjectServer_Draft> 行以指定 Office Project Server 2007 草稿数据库的名称。(例如 USE Litware_Draft

    • 编辑用来读取 USE <ProjectServer_Published> 的这两行以指定 Office Project Server 2007 已发布数据库的名称。(例如 USE Litware_Published

  5. 单击“执行”以运行脚本。

运行脚本后,可以对 Office Project Server 2007 数据进行所需的更改,然后再尝试升级:

  • 如果结果显示 Office Project Server 2007 未更新到 Service Pack 2 或更高版本,则使用最新更新来更新 Office Project Server 2007 环境。有关详细信息,请参阅部署 Project Server 2007 更新

  • 如果结果显示自安装 Office Project Server 2007 SP2 后尚未保存和发布的项目,则确认已安装 Service Pack 2,然后打开项目并重新发布到 Office Project Server 2007。

  • 如果结果包含 Project Server 2010 中的保留查找表名称,则重命名查找表。有关 Project Server 2010 中的保留查找表名称的完整列表,请参阅 Project Server 2010 升级概述

  • 如果结果包含 Project Server 2010 中的保留自定义域名,则重命名自定义域。有关 Project Server 2010 中的保留自定义域名的完整列表,请参阅 Project Server 2010 升级概述

  • 如果结果中包含的视图使用要保留在 Project Server 2010 中的 Office Web 组件,则在 Excel Services(在 Project Server 2010 中不使用 OWC)中重新创建这些视图。

  • 如果结果包含不具有查找表的工作组名称,则为这些工作组创建查找表。

更改后,新建 Office Project Server 2007 数据库的备份副本,然后对这些数据库重新运行脚本,以确认已更正这些更改。

脚本

------------------------------------------------------------------------------
/* Pre-Migration Steps from Project 2007 SP2 to Project 2010

-----------------------------------------------------------------------------*/

------------------------------------------------------------------------------
/* Check Project 2007 Version: Must be SP2 or higher
-----------------------------------------------------------------------------*/
USE <ProjectServer_Draft>
select Version 
as 'Project Server 2007 SP2 Version Must Be 12.0.6422.1000 or Higher. If not, upgrade to SP2' 
, timestamp
from dbo.Versions
go
----------------------------------------------------------------------------------------------
/* Display the projects not saved or published since the installation of SP2 
----------------------------------------------------------------------------------------------*/
select Distinct PROJ_NAME AS 'List of Projects Not Saved and Published Since the Installation of Service Pack2'
,PROJ_PROP_AUTHOR, PROJ_LAST_SAVED, WPROJ_LAST_PUB
from dbo.MSP_PROJECTS 
where PROJ_TYPE = 0 
and ((dbo.MSP_PROJECTS.PROJ_LAST_SAVED < (SELECT MAX(TimeStamp) FROM dbo.Versions))
OR (dbo.MSP_PROJECTS.WPROJ_LAST_PUB < (SELECT MAX(TimeStamp) FROM dbo.Versions))) 
GROUP BY PROJ_NAME,PROJ_PROP_AUTHOR, PROJ_LAST_SAVED, WPROJ_LAST_PUB
Order by PROJ_NAME
go
------------------------------------------------------------------------------
/* Display the Lookup tables using reserved names in 2010
This query is to be run against the Published database of Project Server 2007
-----------------------------------------------------------------------------*/
USE <ProjectServer_Published>
select LT_NAME 
AS 'List of Lookup Table names with Reserved Names. These names must be changed before proceeding with the Upgrade'
from dbo.MSP_LOOKUP_TABLES 
WHERE LT_NAME IN
('Department',
'Project Impact',
'Relative Importance',
'Sample Areas Impacted',
'Sample Primary Objective')
-- Cost Type, Health, RBS and State are standard in 2007
go
------------------------------------------------------------------------------
/* Display the Custom Fields using reserved names in 2010
This query is to be run against the Published database of Project Server 2007
-----------------------------------------------------------------------------*/
USE <ProjectServer_Published>
select MD_PROP_NAME
AS 'List of Custom Fields names with Reserved Names. These names must be changed before proceeding with the Upgrade'
from dbo.MSP_CUSTOM_FIELDS 
WHERE MD_PROP_NAME IN 
('Flag Status',
'Project Departments',
'Project Impact',
'Relative Importance',
'Resource Departments',
'Sample Approved Finish Date',
'Sample Approved Start Date',
'Sample Areas Impacted',
'Sample Assumptions',
'Sample Business Need',
'Sample Compliance Proposal',
'Sample Goals',
'Sample Post Implementation Review Date',
'Sample Post Implementation Review Notes',
'Sample Primary Objectives',
'Sample Proposal Cost',
'Sample Proposed Finish Date',
'Sample Proposed Start Date')
go
---------------------------------------------------------------------------------------------------------
/* Displays Existing OWC Views in 2007 that need to be migrated to Excel Services in Project Server 2010
--------------------------------------------------------------------------------------------------------*/
select WVIEW_NAME AS 'List of PWA Data Analysis OWC Views to Migrate to Excel Services in Project Server 2010' 
FROM dbo.MSP_WEB_VIEW_REPORTS 
WHERE WVIEW_OWC_PIVOT_XML is not null
OR WVIEW_OWC_CHART_XML is not null

------------------------------------------------------------------------------
/* Displays User Accounts with Forms Auth Login Names > 249 Ch. -- on 2007
-----------------------------------------------------------------------------*/
select RES_NAME AS 'List of FBA accounts with Names > 249 Ch. Shorten the Resource Names below'
FROM dbo.MSP_RESOURCES
WHERE RES_IS_WINDOWS_USER = 0
AND (Select LEN(RES_NAME)) > 249
go
------------------------------------------------------------------------------
/* Display Team Names with no Lookup Tables and a Value -- on 2007
-----------------------------------------------------------------------------*/
select TEXT_VALUE AS 'List of Team Names with values and NO Lookup Tables. Create a LT for these Teams'
FROM dbo.MSP_RES_CUSTOM_FIELD_VALUES, dbo.MSP_CUSTOM_FIELDS, dbo.MSP_LOOKUP_TABLES
WHERE dbo.MSP_RES_CUSTOM_FIELD_VALUES.CUSTOM_FIELD_UID = dbo.MSP_CUSTOM_FIELDS.MD_PROP_UID
AND MD_PROP_NAME = 'Team Name'
AND dbo.MSP_CUSTOM_FIELDS. MD_LOOKUP_TABLE_UID IS NULL
go