Team Foundation Server - TF252031、TF250001、TF249031 和 安裝TFS的權限注意事項

26 November 2011 — Written by Sky Chang
#Reporting Services#SharePoint#SQL Server#TFS

最近因為記憶體現在實在是太便宜了,所以就買了一堆記憶體,也因此可以重新去調整伺服器的架構,希望能讓SQL Server、TFS、SharePoint分成三台主機來處理,安裝的過程中,也遠遠比全部塞在一台複雜得多QQ,而這次遇到的一個問題,就是跨越三台所產生的問題。

權限

在開始之前,有件事情也必須要先提,雖然TFS的功能超級強大,但別忘了,TFS裡面的報表是整合了Reporting Services,而那些團隊網頁,則是整合了SharePoint,這代表甚麼?,簡單的說,就是各自有各自的帳號啦!也因此,這三台主機的服務帳號設定是非常複雜的,也沒辦法從單一的TFS裡面,就去控管所有服務的帳號,換言之,這些帳號都要分開建立!!不過現在的TFS已經幫忙處理很多事情了,安裝上也簡單多了,只不過,這個觀念必須要清楚,才能了解錯誤的含意。

開始之前

我先說說小弟我的環境吧,基本上和一般並無多大差異,SQL Server有自己的服務帳號,SharePoint也有自己的服務帳號,但是TFS我使用的是NT AUTHORITY\NETWORK SERVICE這個網路服務帳號,至於為什麼只有TFS使用了NT AUTHORITY\NETWORK SERVICE這個帳號,是因為我看到了MSDN的這句話

內建帳戶並未使用密碼,並且已經擁有 [以服務方式登入] 使用權限,這讓它們更易於管理,尤其是在網域環境中。

也因此,我想說,反正MSDN都說這是秘訣了,那我就直接使用NETWORK SERVICE來當服務帳號吧,至於是不是我會錯意我就不知道了XDD。( http://msdn.microsoft.com/zh-tw/library/dd578625.aspx )

如果想知道哪裡可以看到TFS的服務帳號,可以進TFS管理主控台,就可以看到。

image

第一次設定的驗證警告

接下來我們要開始慢慢地進入主題了;如同前面所說,因為三台主機的權限帳號的因素,所以如果SharePoint和TFS不是同一台時,第一次設定時,到驗證完成後,一定會有一個警告的訊息。

您指定的SharePoint Web應用程式與Team Foundation Server的應用程式層裝載在不同伺服器。Web應用程式裝載在下列伺服器http://xxx:xxxx。這是支援的組態,但可能需要其他步驟之後,部署才能正常運作。繼續之前,您應該檢閱與遠端SharePoint Web應用程式整合的所有需求。如需詳細資訊,請參閱 Microsoft 網站 (http://go.microsoft.com/fwlink/?LinkId=161206)。

如果之前驗證設定的時候,又有勾選建立新的Team專案集合,就會出錯,雖然TFS也算設定完成,但Team專案集合則建立不起來。

所以,要先處理權限的步驟,才能在設定TFS的時候去勾選建立新的Team專案集合,要不然就是先不要勾選,也是可以順利設定完成,最後再把權限加進去,然後再來建立新的專案集合。

所以TF252031、TF250001、TF249031 是?

沒錯,就是權限問題,如果權限沒設定好,又去建立Team專案集合,就會發生TF252031、TF250001的錯誤,如下。

TF252031: 無法為 Team 專案集合建立 SharePoint 網站。發生下列錯誤: TF250001: 下列帳戶的驗證檢查失敗: [網域名稱][TFS主機名稱]。帳戶必須是下列 SharePoint Web 應用程式的 Farm Administrators 群組成員: http://[SharePoint位置]/。如需詳細資訊,請參閱 Microsoft 網站 (http://go.microsoft.com/fwlink/?LinkId=161206)。

而TF249031是Reporting Services的權限錯誤。

TF249031: 無法建立含有下列名稱的資料夾: /TfsReports/Team專案名稱。使用者帳戶沒有在裝載報告之伺服器上建立資料夾的使用權限。

解決TF252031、TF250001

其實很簡單,把帳號加入到SharePoint裡面就可以了;進入SharePoint的管理中心,並選擇安全性,再選擇管理伺服器陣列管理員群組。如果不知道怎樣進去,可以到安裝SharePoint的那台主機上,開始程式集裡面有一個SharePoint管理中心。

image

image

接下來在Farm Administrators群組裡面新增帳號,因為我的TFS服務帳號是使用NETWORK SERVICE,所以這邊新增服務帳號,就要選擇MyDomain\TFSTest$,沒錯有錢字符號喔!(假設我的網域名稱為MyDomain,而主機名稱為TFSTest)。

image

這樣就解決了權限不足的問題,如果有自己設定TFS的服務帳號,也可以在這邊選擇自己的服務帳號。

解決TF249031

這個是Reporting Service的問題,也滿簡單的,反正就加入進去就可以了;如果不知道Reporting Service管理的網址,可以這樣做,進入安裝SQL Server的那台電腦,並啟動Reporting Service 組態管理員。

image

然後可以從報表管理員URL裡面看到。

image

進入Reporting Service的報表管理員網站後,選擇資料夾設定。

image

然後新增角色指派。

image

這裡要勾選Team Foundation內容管理員,同樣的如果TFS使用的是NETWORK SERVICE當作服務帳號,就必須要使用MyDomain\TFSTest$(假設我的網域名稱為MyDomain,而主機名稱為TFSTest),如果TFS自己有設定服務帳號,就Key那組服務帳號。

image

以上就完成了!。

參考資料

Sky & Study4.TW