HOW TO:在主體伺服器無法使用時容錯移轉到鏡像資料層伺服器
更新:2007 年 11 月
如果您已設定 Team Foundation 所依賴之資料庫的 SQL Server 鏡像,即使主體伺服器無法使用,您還是可以容錯移轉至鏡像資料層伺服器。這種方法有助於降低 Team Foundation Server 部署失敗的可能性。如需詳細資訊,請參閱鏡像 Team Foundation 資料層伺服器,以及 Microsoft 網站上 SQL Server 2005 或 SQL Server 2008 的<實作 SQL Server 資料庫的還原實例>(英文)。
重要事項: |
---|
只有當主體資料層伺服器無法使用時,才能執行本主題中的程序。如果主體伺服器可以使用,請依照 HOW TO:容錯移轉至鏡像資料層伺服器中的程序執行。如需詳細資訊,請參閱 Microsoft 網站上 SQL Server 2005 或 SQL Server 2008 的<強制服務 (可能發生資料遺失)>(英文)。 |
若要在主體伺服器無法使用時容錯移轉到鏡像資料層伺服器,您必須執行下列程序:
停止 Team Foundation Server 所使用的服務
手動交換主體和鏡像資料庫的角色
重新導向 SQL Server Reporting Services 以連接到鏡像資料層伺服器
將應用程式層伺服器對應到新的主體資料層伺服器
重建 Team System Cube
刪除版本控制快取
重新導向 Team 專案的網站
重新啟動服務
(選擇性) 重新整理用戶端電腦上的資料快取
必要的使用權限
您必須是主體和鏡像伺服器上 [Administrators] 群組的成員以及 SQL Server [Administrator] 群組的成員,才能執行這些程序。如需詳細資訊,請參閱 Team Foundation Server 使用權限。
除了這些使用權限之外,在執行 Windows Server 2008 或 Windows Vista 的電腦上,您可能還必須滿足下列需求:
若要依照命令列程序執行,您可能必須開啟較高權限的命令提示字元,方法是按一下 [開始],以滑鼠右鍵按一下 [命令提示字元],再按一下 [以系統管理員身分執行]。
若要依照需要用到 Internet Explorer 的程序執行,您可能必須以系統管理員的身分啟動 Internet Explorer,方法是按一下 [開始],再按一下 [所有程式],以滑鼠右鍵按一下 [Internet Explorer],然後按一下 [以系統管理員身分執行]。
若要編輯 web.config 檔案,您可能必須以系統管理員的身分啟動文字編輯器,方法是按一下 [開始],再按一下 [所有程式],以滑鼠右鍵按一下編輯器,然後按一下 [以系統管理員身分執行]。
若要存取 SQL Server Reporting Services 的報表管理員、報表或網站,您可能必須將這些網站加入至 Internet Explorer 中的信任網站清單,或是以系統管理員的身分啟動 Internet Explorer。
如需詳細資訊,請參閱 Microsoft 網站 (英文)。
停止 Team Foundation Server 所使用的服務
在您容錯移轉至鏡像資料層伺服器之前,必須準備應用程式層伺服器,以便使用鏡像資料層伺服器。
注意事項: |
---|
在單一伺服器部署中,您可登入執行 Team Foundation Server 的伺服器,以停止及啟動所有的服務、應用程式集區和網站。在雙重伺服器部署中,您必須登入裝載 (Host) Team Foundation Server 之特定服務、應用程式集區或網站的適當伺服器。如需詳細資訊,請參閱 HOW TO:停止和啟動服務、應用程式集區和網站。 |
若要停止 Team Foundation Server 所使用的服務
登入適當的伺服器,開啟電腦管理員,並停止下表的服務和網站:
登入裝載此程式的伺服器
停止此元件
SharePoint 產品和技術
預設的網站或 Team 網站
SharePoint Timer Service 或 Windows SharePoint Services Timer
Reporting Services
SQL Server Reporting Services (TFSINSTANCE)
ReportServer 或 ReportServer$InstanceName (應用程式集區)
預設的網站或報表管理員網站
注意事項: 您必須使用 SQL Server 2005 (而不是 SQL Server 2008) 來停止 Report Server 網站和應程式集區。
應用程式層
Visual Studio Team Foundation Server 工作排程器服務
Microsoft Team Foundation Server 應用程式集區
手動交換主體和鏡像資料庫的角色
停止服務之後,您可以手動容錯移轉資料庫。如需詳細資訊,請參閱 Microsoft 網站上 SQL Server 2005 或 SQL Server 2008 的<HOW TO:手動容錯移轉資料庫鏡像工作階段 (SQL Server Management Studio)>(英文)。
若要在鏡像伺服器上開啟 SQL Server Management Studio
在鏡像伺服器上,按一下 [開始],指向 [所有程式],再指向 [Microsoft SQL Server],然後按一下 [SQL Server Management Studio]。
注意事項: 如需詳細資訊,請參閱 Microsoft 網站上 SQL Server 2005 或 SQL Server 2008 的<實作 SQL Server 資料庫的還原實例>。
[連接至伺服器] 對話方塊隨即開啟。
在 [伺服器類型] 中,按一下 [資料庫引擎]。
在 [伺服器名稱] 中,輸入資料層伺服器與資料庫執行個體的名稱,然後按一下 [連接]。
[SQL Server Management Studio] 隨即開啟。
在 [物件總管] 中,展開 [資料庫] 節點,顯示構成資料層的資料庫清單。
針對下列清單中的每個資料庫,完成本主題後面的「若要強制服務容錯移轉至鏡像資料層伺服器」程序:
ReportServer
注意事項: 如果使用具名執行個體,這個資料庫將會命名為 ReportServer$InstanceName。
ReportServerTempDB
注意事項: 如果使用具名執行個體,這個資料庫將會命名為 ReportServerTempDB$InstanceName。
SharePoint 產品和技術的下列資料庫 (如果部署在 SharePoint 產品和技術和 Team Foundation Server中都使用相同的資料層伺服器):
SharePoint 產品和技術的系統管理內容資料庫 (WSS_AdminContent)
SharePoint 產品和技術的組態資料庫 (STS_Config_TFS 或 WSS_Config)
SharePoint 產品和技術 (STS_Content_TFS 或 WSS_Content) 的內容資料庫
注意事項: 包含 SharePoint 產品和技術資料之資料庫的名稱會隨著安裝的 SharePoint 產品和技術版本,以及安裝人員是否自訂該名稱而有所不同。此外,如果 SharePoint 產品和技術安裝在與 Team Foundation Server 不同的其他伺服器上,則這些資料庫可能就不在資料層伺服器上。如果這些資料庫位於另一部伺服器,您必須從 Team Foundation Server 個別管理其備份、還原和組態。不過,您應該同步維護資料庫,以避免發生同步處理錯誤。
TfsActivityLogging
TfsBuild
TfsIntegration
TfsVersionControl
TfsWarehouse
TfsWorkItemTracking
TfsWorkItemTrackingAttachments
若要強制服務容錯移轉至鏡像資料層伺服器
在 [SQL Server Management Studio] 中,開啟 [檔案] 功能表,指向 [新增],然後按一下 [使用目前的連接查詢]。
新的查詢視窗隨即開啟。
在視窗中輸入下列命令;其中 Database 是 Team Foundation 資料庫的名稱:
ALTER DATABASEDatabaseSET PARTNERFORCE_SERVICE_ALLOW_DATA_LOSS
在工具列上,按一下 [執行]。
重新導向 SQL Server Reporting Services 以連接到鏡像資料層伺服器
若要重新導向 Reporting Services 以連接到鏡像資料層伺服器
登入裝載 Reporting Services 的伺服器,並將它重新導向,以連接到鏡像資料層伺服器上的資料庫執行個體。
如需詳細資訊,請參閱 HOW TO:重新導向 Reporting Services 以連接至不同的資料層伺服器。
將應用程式層伺服器對應到新的主體資料層伺服器
在您已容錯移轉所有的資料庫並刪除版本控制快取之後,鏡像資料層伺服器就會變成部署的主體資料層伺服器。若要完成容錯移轉,您必須將應用程式層伺服器重新導向至目前的主體資料層伺服器。
若要重新導向應用程式層伺服器
登入適當的伺服器,開啟電腦管理員,並依照指定的順序啟動下表的元件:
登入裝載此程式的伺服器
啟動此元件
應用程式層
Microsoft Team Foundation Server 應用程式集區
Reporting Services
ReportServer 或 ReportServer$InstanceName (應用程式集區)
注意事項: 如果您執行 SQL Server 2005 (而不是執行 SQL Server 2008),則必須在 Internet Information Services (IIS) 中啟動 Report Server 應用程式集區。
SQL Server Reporting Services (TFSINSTANCE)
開啟 [命令提示字元] 視窗,將目錄變更為 %ProgramFiles%\Microsoft Visual Studio 2008 Team Foundation Server\Tools,然後輸入下列命令:
TfsAdminUtil RenameDT newTeamFoundationDataTierServerName
重要事項: 為了使 RenameDT 命令成功,上一個步驟中的應用程式集區和程式必須在執行中。這是 Visual Studio Team System 2008 Team Foundation Server 中的新要求。
輸入 iisreset,然後按 ENTER,重新啟動 Internet Information Services (IIS)。
重建 Team System Cube
若要重建 Team System Cube
登入應用程式層伺服器,然後重建 Team System Cube。
如需詳細資訊,請參閱 HOW TO:重建 Team System Cube。
刪除版本控制快取
重建 Team System Cube 之後,您必須刪除應用程式層伺服器 (以及任何 Proxy 伺服器) 上的版本控制快取,以強制進行與新資料層伺服器的同步處理。
若要刪除版本控制快取
登入應用程式層伺服器,然後開啟下列目錄:
Drive:\Program Files\Microsoft Visual Studio 2008 Team Foundation Server\Web Services\VersionControl
刪除 Data 子目錄的內容,但是不要刪除該子目錄本身。
如需詳細資訊,請參閱 HOW TO:刪除應用程式層伺服器上的版本控制快取。
在部署中任何執行 Team Foundation Server Proxy 的伺服器上重複此程序。
重新導向 Team 專案的網站
若要將專案網站重新導向為使用鏡像資料層伺服器上的內容資料庫
登入裝載 SharePoint 產品和技術的伺服器,並將它重新導向,以使用新資料層伺服器上的內容資料庫。
如需詳細資訊,請參閱 HOW TO:重新導向 SharePoint 產品和技術使用新的內容資料庫。
重新啟動服務
若要重新啟動 Team Foundation Server 所使用的服務
登入適當的伺服器,開啟電腦管理員,並依照指定的順序啟動下表中的服務:
登入裝載此程式的伺服器
啟動此服務
SharePoint 產品和技術
SharePoint Timer Service 或 Windows SharePoint Services Timer
預設的網站或 Team 網站
應用程式層
Visual Studio Team Foundation Server 工作排程器服務
Microsoft Team Foundation Server 應用程式集區
Reporting Services
SQL Server Reporting Services (TFSINSTANCE)
ReportServer 或 ReportServer$InstanceName (應用程式集區)
注意事項: 如果您執行 SQL Server 2005 (而不是執行 SQL Server 2008),則必須在 IIS 中啟動 Report Server 應用程式集區。
預設的網站或報表管理員網站
開啟 Internet Explorer,在 [網址] 列中輸入下列字串,並確認 Team 專案可以使用:
http://SharePointServicesServerName/default.aspx
重新整理用戶端電腦上的資料快取
只有在復原的資料與容錯移轉之前資料層伺服器上的資料不符時,您才必須重新整理用戶端電腦上的資料快取。
若要重新整理用戶端電腦上的資料快取
登入應用程式層伺服器。
使用 ClientService Web 服務強制用戶端在下次連接到應用程式層伺服器時,更新用來追蹤工作項目的快取。
如需詳細資訊,請參閱 HOW TO:重新整理用戶端電腦上的資料快取。
請參閱
工作
HOW TO:設定 Team Foundation 資料層伺服器的 SQL Server 鏡像