糟糕!新增了新的 Team 專案集合,但 Team Foundation Backups 中並無提供對應處理,難道只有移除現有 [備份計劃] 再進行新增這方法嗎?
糟糕!新增了新的 Team 專案集合,但 Team Foundation Backups 中並無提供對應處理,難道只有移除現有 [備份計劃] 再進行新增這方法嗎?
相信不少人都會有上述的需求,有鑑於此筆者在此跟各位說明完整的作業流程~~
示範環境:TFS 2010 Single Server in Win2008R2+SQL2008R2+TFS2010。
P.S. 若您想了解更多 TFS 資訊,請參考『Team Foundation Server 指南』。
一、開始 --> 所有程式 --> Microsoft Team Foundation Server 2010 --> Team Foundation 管理主控台 --> TFS2010 --> Team 專案集合 --> 新增一個名稱為 [BackupCollection] 的 Team 專案集合
二、下圖為新增好的 [BackupCollection] Team 專案集合
三、確認是否能連接至 WSS (如下圖)
四、移至 Team Foundation Backups,發現 Team Foundation Backups 中並無提供對應處理,並且第一步驟所新增的 [BackupCollection] Team 專案集合不在下方的 [Backup Plan Databases] 名單中
五、將以下 SQL 語法於 [Tfs_BackupCollection] Database 中執行
※ 此步驟務必執行,不然 Backup Plan 進行作業時,會發生找不到 [資料表] 或 [預存程序] 之問題。
● 建立資料表來標示相關交易
1: if (not exists(select * from sys.tables where name = 'tbl_TfsTransactionLogMark'))
2: begin
3: Create Table tbl_TfsTransactionLogMark
4: (
5: logmark tinyint
6: )
7: Insert into tbl_TfsTransactionLogMark (logmark) Values (1)
8: end
● 建立預存程序,提供標示交易時使用
1: if ((not exists(select * from sys.procedures where name = 'prc_TfsSetTransactionLogMark')))
2: begin
3: declare @text as varchar(8000)
4: select @text='Create PROCEDURE prc_TfsSetTransactionLogMark
5: @name nvarchar (128)
6: AS
7: BEGIN TRANSACTION @name WITH MARK
8: UPDATE dbo.Tbl_TfsTransactionLogMark SET logmark = 1;
9: COMMIT TRANSACTION
10: GO'
11: execute (@text)
12: end
六、開啟 [檔案總管] --> 將目錄位置移至 [C:\ TFS2010_Backup],會發現有一個 [ConfigPT.xml] 的檔案
七、以記事本開啟 [ConfigPT.xml] 檔案 --> 於 <TfsCollections></TfsCollections> 中加入一段 <Database Name=”Tfs_BackupCollection”>TFS2010</Database>
※ 此步驟務必執行,不然 Backup Plan 進行作業時,不會進行 [Tfs_BackupCollection] Database 的備份處理。
八、返回 Team Foundation Backups --> 按 [Take Full Backup Now] --> 完成時會看到如下圖所標示
※ 恭禧您!! Database [Tfs_BackupCollection] 已被備份
九、返回 Team Foundation Backups --> 檢視下方的 [Backup Plan Databases] 名單中 [Tfs_BackupCollection] 亦存在於此