MOSS【方案】搶救您的SharePoint網站 (概觀篇)

MOSS【方案】搶救您的SharePoint網站 (概觀篇)

本篇適用於 MOSS WSS 3.0

這…

這是一個真實案例,活生生的案例…

搶救成功就放牛吃草,搶救不成功今晚就與主機共眠吧… XD

資訊系統常常會遇到critical與unnormal的事件,這些事件發生後,往往只能打從心裡發出讚嘆:傑克!這真是太神奇了… = = 面對這神奇的事件,您該如何是好?如果平日就有應變措施那恭喜您可以早點下班了,但如果是out of control呢?在您的意料之外、您的教戰手冊並無記載,這時您該如何?凡事都有跡可循,有因有果,所以,開始尋因找果吧…

本篇文章所要分享的是小弟3/28晚,接近午夜時分,搶救SharePoint網站的過程,也許這個過程不是唯一的標準程序,或許過程有些雜亂,或許一開始就解決問題了但沒有發現,而且小弟尚未明白引起錯誤的原因何在(內文會提到,但不確定),但這些都不重要,都不是本文的重點,重點是本文追溯錯誤的過程;其次,常會有朋友遭遇SharePoint網站錯誤後,很緊張的貼出了錯誤訊息,但這錯誤訊息只有短短的一行,最經典的是:發生未預期的錯誤!這並不是這位朋友的錯!但!這樣的訊息對於協助解決問題的人來說是:是毫無線索的!(柯南也要線索啊!) 因此,期望藉這個真實案例、這篇文章給大家一個概觀,做為追溯SharePoint網站失敗與錯誤的指引!

在本文中您可以習得:

-----------------------------------------------------

1. 起始 SharePoint 除錯的第一步

2. 如何善用事件檢視器之資訊

3. 如何找到 SharePoint 錯誤記錄檔所在

4. 如何查看 SharePoint 錯誤記錄檔的資訊

5. 如何進行反覆式的除錯過程

-----------------------------------------------------

話說,那晚小弟所進行的SharePoint專案網站竟然莫名其妙的掛點了,不論管理中心或網站都只出兩個大字:Service Unavailable!這種情況還是小弟第一次遇到咧!請問,聰明的您會從哪裡該始著手呢?下面小弟先以圖文簡單描述追溯IIS、事件檢視器與log檔的過程,然後把此過程濃縮成一張簡易的除錯流程圖給大家做參考!

除錯故事開始

面對Service Unavailable,很自然的先到IIS去Check,小弟發現:IIS的應用程式集區竟然都停止了,重開竟然還會關閉,重新輸入帳號密碼也無效?接著又確認資料庫的狀態都是啟動的,到底原因何在?阿,事件檢視器與Error Log!

  

事件檢視器的【應用程式】

到【系統管理工具】【事件檢視器】的【應用程式】開始檢查相關的錯誤;下圖的錯誤記錄著來源是SharePoint Products and Technologies Configuration Wizard,很明顯的,設定精靈在設定什麼功能時發生錯誤了!

  

  

擊點事件,可以看到詳細的錯誤訊息描述,這邊看到設定 SharePoint 產品及技術失敗,並在描述中提醒至MOSS的錯誤記錄檔查看,而MOSS的錯誤記錄檔就如同訊息所提示的位置。

  

再看第二個錯誤,事件清單與第一個似乎長得一模一樣,但內容卻是不一樣的。

  

這時我們看到事件 ID是104,上一個事件ID是100,而且錯誤的描述也不一樣!這裡有一個重要的錯誤檔記錄在Upgrade.log中,所以等等一定要看看這個檔記錄了什麼!

  

再繼續追蹤下一個錯誤訊息,其來源是Windows SharePoint Services 3 Search

  

此訊息提到無法存取內容來源,似乎與搜尋伺服器的搜尋索引檔案有關係而後頭的訊息幾乎都是如此,所以來進行下一個動作。

  

事件檢視器的【系統】

接著切換到事件檢視器的【系統】,看看系統有什麼樣的錯誤與SharePoint有關!

有一錯誤來源是W3SVC,嗯,新線索

  

擊點錯誤,發現很明白的告訴我們,SharePoint-80應用程式集區啟動錯誤,且停用了!

  

再往下看,看到一個來源是W3SVC的警告

  

描述告訴我們,SharePoint的識別項無效!

  

SharePoint 錯誤記錄檔

看完這些訊息後,我們接著到SharePoint的錯誤記錄檔接著尋找線索吧!

一般SharePoint錯誤記錄檔的位置預設是在:C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\LOGS (您可以將這個資料夾設成捷徑放在桌面上),就來翻閱剛剛事件檢視器提到的兩個檔案:PSCDiagnostics_3_28_2007_22_29_19_31_56152755.log與Upgrade.log。

在PSCDiagnostics_3_28_2007_22_29_19_31_56152755.log中,看到升級SharePoint產品及技術的訊息,而log檔的部分訊息被彙整寫到事件檢視器裡,所以在此我們會看到與事件檢視器相似的訊息!

  

而在Upgrade.log裡,第一行記錄著Logging enabled 2007年3月28日 at 下午 10:29:26.在3/28日下午開始記錄,也是與升級相關的訊息,但是,實在看不出什麼所以然!

  

就在這時候,更新失敗?為什麼會有更新失敗?

由於小弟有開啟自動更新,所以並不知道Windows更新了什麼!趕緊到Windows Update網站去看看,結果發現竟然有一個KB932091:Windows SharePoint Services 3.0 更新,更新了什麼內容呢?

  

擊點更新的連結,發現只有下列資訊,小弟功力不夠,完全看不出到底更新了什麼 T.T

  

到此為此,我們已經追蹤了相關線索了,推測:因為更新失敗,導致SharePoint相關服務失效,甚至連某些服務的帳號也發生問題?亦或者在當天早上,就發生更新錯誤事件或者帳號出現錯誤了,反正滿莫名其妙的!接下來該如何是好呢?

確認與 SharePoint 有關的服務是否正常運作

從上述的資訊,再加上以往的經驗,小弟決定到【服務】確認與SharePoint的相關服務是否有啟動,結果發現Windows SharePoint Services Search與Windows SharePoint Services Timer竟然停止了!

  

當小弟試著啟動Windows SharePoint Services Search與Windows SharePoint Services Timer時雙雙遭遇登入失敗無法啟動的問題!耶!為什麼會登入失敗?不知道登入帳號的相關資訊什麼時後被改掉了(hacker) T.T

  

重新輸入帳號密碼後,重新啟動這些服務!

  

重啟 IIS 應用程式集區服務

接著到【網際網路資訊服務 (IIS) 管理員】確認管理中心的應用程式集狀態,依舊處於停止狀態,重新再起動,還是失敗!在相對應的應用程式集區,右鍵點選內容,切換到【身分識別】頁籤,重新輸入啟動的帳號與密碼,再次啟動,歐耶!管理中心的應用程式集區啟動了,同樣的方法再針對網站的應用程式集做啟動,兩個網站都復活了!

終於可以鬆了一口氣,雖然網站的內容重做不會太費時,但小弟可不想重做阿而且,小弟想寫關於SharePoint的基本除錯文章,所以一定要解決 XD

SharePoint除錯三階段

從上面的過程,也許大家還無法很瞭解到底除錯的正確過程與步驟是什麼,因為就看小弟這邊確認那邊確認的,沒錯,就是這樣!小弟覺得除錯非 One Way ,但是您要掌握 Key Point 在何處,即發生錯誤的真正原因是由哪裡引起的,先找到Key Point比較好對症下藥!為了協助大家能與上述的故事情節相呼應、對除錯的過程吸收容易且有流程化的概念,小弟將SharePoint的除錯簡要分為三個階段,分別是初步檢視階段進階檢視階段反覆檢視階段,並將三個階段以圖示來表達:

  

從上圖與剛剛的故事可以瞭解,除過通常起始於初步檢視階段,再進到進階檢視階段,而在這兩個階段之間,不斷的進行交叉與反覆檢試的過程,以達到更進一步的錯誤修正,下面再將各階段做簡要的說明。

初步檢視階段

初步檢視又分為兩個部分,一是檢視IIS的相關設定,其二是檢視資料庫伺服器,有時候問題的發生,常常可以在這兩個部份很快的找到答案;好比網站的.NET Framework好端端的從2.0跳到1.0,這時就會發生網站錯誤!而資料庫部分最常遇到的就是找不到設定資料庫或內容資料庫,很明顯的就是資料庫伺服器被關閉了,將SQL SERVER重新啟動即可!

進階檢視階段

進階檢視要確認的有三項,通常會由事件檢視器開始,因為事件檢視器不但簡要的點出錯誤所在,還會指引您到該查看SharePoint的哪個錯誤記錄檔,比直接翻閱眾多的MOSS錯誤記錄檔來得有效率,當然,如果您已很熟悉SharePoint錯誤記錄檔的資訊了,這就另當別論了,可以直接對錯誤記錄檔下手!而服務,是要確認與SharePoint相關的服務是否有開啟,服務沒開啟,當然會導致SharePoint功能無法Work!

反覆檢視階段

整個除錯的過程,是反覆的檢視與除錯,即便起始於初步檢視階段的IIS與資料庫伺服器,但是,在初步檢視階段無法解決時,就一定會進入進階檢視階段,即便在第二階段確認了SharePoint錯誤記錄檔的提示,調整了相關的設定,只要無法運作,服務沒有On起來,就要再繼續追溯;有時可能在調整IIS設定、相關服務時,又產生新的錯誤了,這時就再到事件檢視器追蹤這個新的錯誤,然後根據此錯誤,再追溯至錯誤記錄檔,如此反覆直到系統能夠順利運作。

最後,除錯有時是一項惱人的工作,運氣好時,馬上解開;運氣不好,原本只消一分鐘就能解決的問題卻繞了一大圈,花了好幾個小時才解決。當然,經驗是很重要的,也唯有不斷的從try and error當中慢慢累積這樣的經驗與精華啊!如果,您已身陷胡同中,不妨泡杯咖啡來喝,轉移一下注意力,也許再著手時,因咖啡因的作用,思路清晰,讓您馬上解開了!呵呵呵~~~

以上,是針對小弟在解決與尋找SharePoint網站錯誤的一點心得,提供給大家,希望能有幫助 :)

ㄜ,終於完成了,先貼,明天有空再潤文和修圖檔吧… XD