Windows SharePoint Services 3.0:以 STSADM 備份檔為網站範本的應用

發佈日期: 2007 年 8 月 1 日

作者: 王恩琦 (TechNet 技術論壇 WSS 版版主;微軟 2007 年度 WSS MVP)
http://blog.blueshop.com.tw/angi/

網站的備份與轉移,在前一篇快速複製網站可略知一二,相信對於使用 STSADM 建立網站的備份與還原應該不陌生。

當我們在建立 WSS 網站時,可能會將網站另存為 *.stp 的網站範本做為其他網站建置的標準,然而,當這個要成為網站範本的網站包含子網站時,問題就來了。什麼問題呢?即 *.stp 的網站範本是無法包含子網站的;那麼,建立好的網站包含了子網站,但 *.stp 的網站範本卻又無法包含子網站,這該如何是好?本文就是要告訴大家:

本頁內容

如何以 STSADM 備份檔做 *.dat 網站範本
在子網站集合使用 *.dat 網站範本的問題
建立新的內容資料庫以在子網站集合回存 *.dat 網站範本

註:為了與 *.stp 網站範本檔做個區別,在此將 STSADM 備份的 *.dat 檔命名為 *.dat 網站範本

如何以 STSADM 備份檔做 *.dat 網站範本

當一個網站包含子網站,又想將此網站變成網站範本時,該怎麼做?先給個提示,就是使用 STSADM 網站備份與還原的方式,使用此備份方式,將整個網站包含子網站儲存成 *.dat 檔來做運用!

首先,我們看到 http://anginb:8020 網站包含了一個 Blog 頁籤,這個 Blog 頁籤所連結的是一個 Blog 子網站,如第二張圖所示。

Dd125481.49stsadm1(zh-tw,TechNet.10).jpg

Dd125481.49stsadm2(zh-tw,TechNet.10).jpg

這時打算將此 8020 網站變成網站範本,所以使用 STSADM 將整個網站進行備份,而 STSADM 的備份機制是可以包含子網站的。如下使用 STSADM 指令先將 8020 網站進行備份,備份出的 BAK8020.dat 即可視為一個包含子網站的 *.dat 網站範本!

Dd125481.49stsadm3(zh-tw,TechNet.10).jpg

接著,打算在 http://anginb:8030 將此網站範本還原,所以在管理中心建立一個 port 為 8030 的 Web 應用程式;建立了新的 Web 應用程式時,系統將建立一個內容資料庫,在此命名為 WSSContent8030。先到 Content Databases 看一下,Current Number of Sites 是 0。

Dd125481.49stsadm4(zh-tw,TechNet.10).jpg

在不建立網站集合的情況下,直接進行網站還原

Dd125481.49stsadm5(zh-tw,TechNet.10).jpg

還原成功後,到 http://anginb:8030/ 看看,果然網站與 Blog 子網站都還原了。

Dd125481.49stsadm6(zh-tw,TechNet.10).jpg

再到 8030 的 Content Databases,Current Number of Sites 是 1。

Dd125481.49stsadm7(zh-tw,TechNet.10).jpg

所以,從上我們可以知道使用 STSADM 的備份檔,是可以做為網站範本的!接下來在子網站集合也進行 *.dat 檔的網站範本的還原。

在子網站集合使用 *.dat 網站範本的問題

在說明本議題之前,先來解釋一下子網站與子網站集合的意義:

  • 子網站:http://anginb:8030/blog 此 blog 是 anginb:8030 這個頂層網站下的子網站。

  • 子網站集合:http://anginb:8030/sites/blog 此 blog 是獨立的網站集合,可以說是 anginb:8030 路徑下的一個網站集合,它可以擁有自己的子網站;在WSS的架構下,一旦在Web應用程式建立了頂層網站集合 (http://anginb:8030) 後,再以此頂層網站集合建立網站集合時,就會使用 sites 來建立子網站集合,如圖所示。

Dd125481.49stsadm8(zh-tw,TechNet.10).jpg

同樣的,在不建立網站集合的情況下,直接在 http://anginb:8030/sites/subsite 這個 URL 下直接回存 BAK8020.dat 的這個網站範本!耶!系統反應沒有內容資料庫?怎麼會呢?

Dd125481.49stsadm9(zh-tw,TechNet.10).jpg

為什麼會這樣?關於這個問題,小弟另闢主題再做探討,系統既然反應沒有內容資料庫,那就建立一個新的內容資料庫,先解決這個問題吧!

建立新的內容資料庫以在子網站集合回存 *.dat 網站範本

在 Application Management 的 Add a content database,建立一個命名為 WSSContent8030Sub 的內容資料庫,輸入資訊如下:

Dd125481.49stsadm10(zh-tw,TechNet.10).jpg

完成之後,可以看到在 8030 有兩個內容資料庫,一個是 WSSContent8030,另一個是剛剛建立的 WSSContent8030Sub。

Dd125481.49stsadm11(zh-tw,TechNet.10).jpg

使用命令模式再次進行還原,果然還原成功了!先到內容資料庫,看看有什麼變化!

Dd125481.49stsadm12(zh-tw,TechNet.10).jpg

在 WSSContent8030Sub 的 CurrentNumber of Sites 值為 1,代表在此內容資料庫有一個網站!

Dd125481.49stsadm13(zh-tw,TechNet.10).jpg

再到 Site Collection List 看一下 http://anginb:8030/sites/subsite 的資訊,發現此網站集合果然使用 WSSContent8030Sub 資料庫!

Dd125481.49stsadm14(zh-tw,TechNet.10).jpg

最後,連到 http://anginb:8030/sites/subsite 看一下!果然整個網站內容,包含子網站都還原了!

Dd125481.49stsadm15(zh-tw,TechNet.10).jpg

從本篇的內容,相信您已經知道:

  1. STSADM 所建立的 *.dat 檔可以做為網站範本並加以運用

  2. 在 Web 應用程式建立新內容資料庫的方法

  3. 使用內容資料庫瞭解目前內容資料庫所包含的網站數

  4. 使用 Site Collection List (網站集合清單) 查看各網站所使用的內容資料庫