在南瘋寫這篇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 資料庫伺服器資訊頁的安裝程式上 串連到其他現有資料庫 選項串連到資料庫。 |
建立和設定資料庫由 Project Server 2003 是運行 SQL Server 2005 電腦上使用。 要這樣做, 請按照下列步驟操作:
|
1、建立資料庫。
a. |
啟動 SQLServerManagementStudio。 |
b. |
在 串連到伺服器 對話方塊中, 單擊在 伺服器類型 框中, 資料庫引擎 , 然後單擊 Connect 。 |
c. |
右擊 資料庫 , 然後單擊 建立資料庫 。 |
d. |
在 新資料庫 對話方塊中, 鍵入 資料庫檔案名 框中的資料庫名稱。 例如, 鍵入 ProjectServer , 然後單擊 確定。 |
e. |
在左窗格的 SQL Server Management Studio, 展開 資料庫 , 右擊資料庫, 並 鍵單擊 。 |
f. |
在 選擇頁 , 單擊 選項 。 |
g. |
在 相容層級 框中, 單擊 SQL Server 2000 (80) , 然後單擊 確定 。 |
h. |
退出 SQLServerManagementStudio。 |
|
|
2、運行 Setupdb.cmd 指令碼。 Setupdb.cmd 指令碼位于于 Project Server 2003 光碟片 \Support\Database 檔案夾中。 要使用 Setupdb.cmd 指令碼, 請按照下列步驟:
a. |
將資料庫檔案夾從 Project Server 2003 光碟片複製到位置是運行 SQL Server 2005 電腦上。 |
b. |
運行指令碼。 Setupdb.cmd 指令碼使用以下文法: Setupdb.cmd SQLServerName DatabaseName 使用者名稱 密碼 NOPAUSE |
花絮:在我正在執行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已經正確的安裝完成!