让"指定的 MSProjectServerRole 帐户不属于 MSProjectServerRole 角色"去死吧
在南疯写这篇blog的时候,南疯的ProjectServer2003安装程序正处在拷贝文件的欢快状态中。南疯我可要为了到这一步痛快地把我前面的这杯咖啡一口焖光!
其实南疯应该把这次的题目叫做“在SQL2005数据库上安装ProjectServer2003点滴”或者叫做“在SQL2005数据库上安装ProjectServer2003注意一二”等等中规中矩的东西,但是,如果您经历了无数次安装失败,你也许会想到一个比南疯现在更加唬人的题目。
首先说说软件环境:
- 中文版Windows Server 2003 R2
- 英文版SQL2005 En
- 中文版SharePoint Services 2.0 with Service Pack 2
- 中文版ProjectServer2003
按照ProjectServer2003的安装说明介绍,南疯配置各种用户,然后安装中文版的SharePoint(痛苦啊,把南疯的英文版SharePoint卸掉了,那可是Orcas TFS beta1的环境啊),经过几次(大于3)的磨难之后,终于把SharePoint中文版安装好。然后又运行了Windows SharePoint Services配置向导,又经过了两次的失败之后,终于得到了宝贵的“SharePoint 管理中心 URL”和“在此 URL 下创建顶级网站”两个URL。
这时候,南疯信心满满,却没想到南疯的耐心已经被前面的啰嗦步骤以及多次的Fault耗光了!
接下来安装ProjectServer2003。
步骤如下(下面这段是Copy安装指南中的,你可以不看,直接跳过20看后面的内容。南疯我也学微软啰嗦一下):
- 在要安装 Project Server 2003 的计算机上,将 Project Server 2003 CD 插入到 CD-ROM 驱动器中,或连接到某个网络安装位置。
- 如果从 Project Server 2003 CD 安装并启用了“自动播放”,请在“Project Server 2003 安装程序”中单击“服务器安装”,或者在 Project Server 2003 CD-ROM(或网络安装位置)上查找并运行 Setup.exe 文件。
- 在“安装程序”的“用户信息”页上,输入用户名、缩写、单位和“产品密钥”,再单击“下一步”。
- 阅读并接受许可协议,再单击“下一步”。
- 在“安装位置”框中,指定 Project Server 2003 的安装位置,再单击“下一步”。默认位置为 C:\Program Files\Microsoft Project Server 2003。
- 在“选择要在此服务器上安装的服务”页上:
(a) 单击“Microsoft Office Project Server 示例数据”列表,再单击“从本机运行”。
(b) 单击“下一步”。
注释 必须在 Project Server 2003 安装完成之后,进一步配置示例数据库。有关详细信息,请参阅 Project Server 2003 光盘的 SUPPORT\SAMPLE\2052 文件夹下的 sampledb.htm 文件。 - 在“输入数据库服务器信息”页上:
(a) 选择“创建新数据库”选项,为 Project Server 2003 数据创建一个新的数据库。
(b) 在“数据库服务器”框中,键入要和 Project Server 2003 一起使 用的 SQL Server 2000 的实例名称。
(c) 选择“SQL Server 身份验证”选项。
(d) 键入 SQL Server 帐户的登录名和密码,以用于创建 Project Server 2003 数据库表(在用户帐户列表中帐号为 2)。
(e) 单击“下一步”。 - 在“为‘视图’表输入连接信息”页上,接受默认设置,再单击“下一步”。这将在 Project Server 2003 主数据库中安装 Project Server 2003“视图表”。
- 在“创建数据库帐户信息”页上,键入 Project Server 2003 和 Microsoft Office Project Professional 2003 访问 SQL Server 2000 数据库时使用的密码,再单击“下一步”。输入的密码将被分配给在“登录名”框中列出的帐户。
- 在“输入 Analysis Services 连接信息”页上:
(a) 在“分析服务器”框中,键入要和 Project Server 2003 一起使用的 Analysis Services 服务器的名称。
(b) 在“登录名”框中,键入 Project Server 2003 用于访问 Analysis Services 服务器的 Windows 域帐户名(在用户帐户列表中的帐号为 1)。
(c) 在“密码”框中,键入 Windows 域帐户的密码,再单击“下一步”。
注释 如果选择以后输入 Analysis Services 连接信息,必须运行 pscomplus.exe 实用程序,以设置用户帐户和密码信息。 - 在“选择网站”页上,单击“默认网站”,再单击“下一步”。
- 在“输入 Web 服务器地址信息”页上:
(a) 在“用于访问 Microsoft Office Project Server 的 Intranet 协议和服务器名称”下,从列表中选择此服务器上使用的 Intranet 协议(http:// 或 https://),然后在下一个框中键入服务器名称。
注释 键入服务器名称时,不必包括协议(http:// 或 https://)。
(b) 也可以在“用于访问 Microsoft Office Project Server 的 Extranet 协议和域名称”下,从列表中选择 Extranet 协议(http:// 或 https://),然后在下一个框中键入域名称。
注释 键入域名称时,不必包括协议(http:// 或 https://)。
(c) 单击“下一步”。 - 在“请输入 SMTP 邮件服务器信息”页上:
(a) 在“SMTP 邮件服务器”框中,键入 SMTP 邮件服务器的名称,以用于 Project Server 2003 通知和提醒。若要让 Project Server 2003 发送通知和提醒,请键入 SMARTHOST。
(b) 在“端口”框中,键入邮件服务器的端口号。默认端口为 25。
(c) 在“发件人地址”框中,键入电子邮件地址,以便在 Project Server 2003 发送的电子邮件的“发件人”域中包括此地址,再单击“下一步”。 - 在“连接到运行 Windows SharePoint Services 的 Web 服务器”页上:
(a) 在“Windows SharePoint Services 管理 URL”下,选择在 SharePoint 服务器上使用的协议(http:// 或 https://),然后在下一个框中键入服务器名称和端口号。这是由 “Windows SharePoint Services 配置向导”提供的“SharePoint 管理中心 URL”链接。
注释 键入服务器名称时,不必包括协议(http:// 或 https://)。
(b) 在“在此 Windows SharePoint Services URL 下创建网站”下,选择在 SharePoint 服务器上使用的协议(http:// 或 https://),然后键入 Project Server 2003 网站的 URL。这是由 “Windows SharePoint Services 配置向导”提供的“在此 URL 下创建顶级网站”链接。
注释 键入服务器名称时,不必包括协议(http:// 或 https://)。
(c) 单击“下一步”。
注释 如果选择以后输入 Windows SharePoint Services 连接信息,需要运行 pscomplus.exe 实用程序设置用户帐户和密码信息。 - 在“请输入 Windows SharePoint Services 的帐户信息(继续)”页上,键入用于管理 Windows SharePoint Services 的 Windows 帐户名称和密码(在用户帐户列表中帐号为 1),再单击“下一步”。
- 在“连接到运行 Microsoft SharePoint Portal Server 的 Web 服务器”页上,可以选择输入单位的 SharePoint Portal Server 连接信息或选择“以后输入此信息”选项,再单击“下一步”。
- 在“请选择安装环境”页上,选择要用于部署的选项,再单击“下一步”。
- 在“输入管理员密码”页上,键入用于管理员帐户的密码,再单击“下一步”。
注释 确保注明此密码供将来引用。首次登录 Microsoft Office Project Web Access 2003 时将需要使用该管理员帐户。 - 在“摘要”页上,单击“安装”。
安装 Project Server 2003。 - 在“安装已完成”页上,单击“完成”。
看官,请不要被上面复杂的步骤发出你的“嘘——”声音,如果南疯告诉你,如果加上前面帐号配置和安装Sharepoint以及运行Windows SharePoint Services 配置向导的步骤,上面的步骤起码要乘以五左右,你应该是抽气而不是呼气才对。
如果你按照上面的步骤来安装ProjectServer2003,在SQL2005数据库下,你发生错误的应该是先错在第19步骤而后是第9步骤!
你按照上面的步骤安装ProjectServer2003,前面一切正常,那么,在第19步骤的时候,你会得到一个25624的错误。大概的意思是说安装程序在创建一个DBO.MSP_WEB_SP_QRY_GetTasksIDs存储过程时发生了脚本错误。
这是由于这个脚本不兼容SQL2005所致。然后安装被全部回滚,下次安装你还得重复上面恼人的步骤,抓狂吧!
微软对这个有一个解决方案:
1. | 运行 SQL Server 2005 计算机上安装 Project Server 2003 之前, 手动创建数据库。 |
2. | 对数据库兼容级别设置为 SQL Server 2000 (80) 设置。 |
3. | 运行安装程序以安装 Project Server 2003。 |
4. | 通过使用 Enter 数据库服务器信息页的安装程序上 连接到其他现有数据库 选项连接到数据库。 |
1、创建数据库。
| |||||||||||||||||
2、运行 Setupdb.cmd 脚本。 Setupdb.cmd 脚本位于于 Project Server 2003 光盘 \Support\Database 文件夹中。 要使用 Setupdb.cmd 脚本, 请按照下列步骤:
花絮:在我正在执行2.b步骤的时候,屏幕上面满是花花的1、2、1、2、1的数字在滚动,我的一位哥们看见跑过来,问道:这是什么?答曰:这是编程的最高境界,直接用二进制代码写出一个数据库!
|
建立数据库之后,重新运行ProjectServer2003安装程序,在第7步骤的时候,南疯很慎重的选择了“连接到其他现有数据库”选项,输入各项信息之后,进入下一步,再下一步进入第9步骤。这时候,南疯注意到了在我的数据库中已经存在两个用户"MSProjectServerUser"和"MSProjectUser"。所以,南疯毫不犹豫地填写了这两个用户和他们的密码。但是,当南疯点击“下一步”的时候,又蹦出了下面这个可恶的东东:
指定的 MSProjectServerRole 帐户不属于 MSProjectServerRole 角色
晕死!产品跟产品比,怎么差别就这么大呢?南疯我这把真的疯了!
赶紧核实这两个用户是不是分别属于正确的MSProjectServerUserRole角色和MSProjectUserRole,不是,加上,重试,失败!
一古脑给MSProjectServerUser和MSProjectUser都加上所有的服务器角色,重试,失败!
一古脑给MSProjectServerUser和MSProjectUser在User Mapping里面都加上数据库角色,重试,失败!
网上说SQL2005把这两个用户的密码弄丢了,重新给他们设置密码,重试,失败!
网上说这两个用户的默认数据库都要设到ProjectServer的数据库,好,设置,重试,失败!
网上说用"域\用户名"的方式来填写用户,重试,失败!
网上说从注册表中改什么CodePage,按照他的介绍方法进行修改,重试,失败!
网上说重新运行Setupdb.cmd重新建立数据库,好,重新运行Setupdb.cmd,重试,失败!
……,重试,失败!
……,重试,失败!
……,重试,失败!
这个问题恼了南疯好长时间,猛然想起:其实这样得错误可能已经不是权限所属的原因引起的了,是不是微软安装程序中只要捕捉到错误,就不管三七二十一给Throw出这个错误了呢?联想到前不久自己安装BusinessObjects的时候,在创建数据库的时候总是连接不上服务器后来重新建立用户的例子,于是操作如下步骤:
- 在SQL2005数据库中,删除Security\Logins目录下面的"MSProjectServerUser"和"MSProjectUser"两个用户。
- 在ProjectServer数据库中删除"MSProjectServerUser"和"MSProjectUser"两个用户(这一步很重要,SQL2005不自动删除已经绑定到数据库的用户)。
- 重新建立MSProjectServerUser用户,设置其默认数据库是ProjectServer,在User Mapping中给其MSProjectServerUserRole数据库角色权限。
- 重新建立MSProjectUser用户,设置其默认数据库是ProjectServer,在User Mapping中给其MSProjectUserRole数据库角色权限。
- 重新运行ProjectServer2003安装程序,在第7步骤选择"连接到其他现有数据库",输入数据库服务器等信息,下一步。
- 再下一步,到第9步骤,在Microsoft office Project Server 2003访问数据库用户中输入"MSProjectServerUser"及其密码;在Microsoft office Project Professional 2003访问数据库用户中输入"MSProjectUser"及其密码。点击下一步。
- OK,通过!
……
等南疯把这篇blog写完的时候,南疯的ProjectServer2003已经正确的安装完成!