Addcontentdb:Stsadm 作業 (Windows SharePoint Services)
作業名稱:Addcontentdb
描述
指定 url 和 databasename 參數之後,即可建立新的內容資料庫,或新增需要升級的資料庫。
建立內容資料庫後,建立在 SQL 資料庫伺服器上的預設資料庫設定,會決定資料和記錄檔的位置。建立內容資料庫所使用的主要檔案群組中,有一個資料 (.mdf) 檔和一個交易記錄 (.ldf) 檔。使用 addcontentdb 作業建立內容資料庫時,必須執行 spsearch 作業建立內容資料庫與執行 Windows SharePoint Services 搜尋服務之特定伺服器的關聯。如需 spsearch 作業的其他資訊,請參閱<Spsearch:Stsadm 作業 (Windows SharePoint Services)>。
重要
如果您卸離再重新附加內容資料庫,請注意,下次編目該內容資料庫內的內容時,將會進行完整編目,即使已要求累加編目也是一樣。因為完整編目會將編目程式所找到的所有內容都重新編目,因此無論該內容先前是否已編目,完整編目都需要花費比累加編目更多的時間才能完成。
語法
stsadm.exe -o addcontentdb
-url <URL 名稱>
-[-assignnewdatabaseid]
-[-clearchangelog]
-databasename <資料庫名稱>
[-databaseserver <資料庫伺服器名稱>]
[-databaseuser <資料庫使用者名稱>]
[-databasepassword <資料庫密碼>]
[-sitewarning <網站警告計數>]
[-sitemax <網站最大計數>]
參數
參數名稱和短格式 | 值 | 必要? | 描述 |
---|---|---|---|
url |
有效的 URL,例如 http://server_name |
是 |
要新增內容資料庫之目的 Web 應用程式的 URL。 |
assignnewdatabaseid |
有效的 GUID,例如 "12345678-90ab-cdef-1234-567890bcdefgh" |
否 |
附加內容資料庫後,會自動建立新的資料庫識別碼。此參數最早出現在 Windows SharePoint Services 3.0 基礎結構更新。如需詳細資訊,請參閱<備註>。 |
clearchangelog |
<無> |
否 |
清除變更記錄 必要時 (例如使用個別 SQL Server 層級備份工具將內容資料庫還原到之前的時間點),請強制清除變更記錄。此參數最早出現在 Windows SharePoint Services 3.0 基礎結構更新。如需詳細資訊,請參閱<備註>。 |
databasename (dn) |
有效的資料庫名稱,例如 "DB1" |
是 |
資料庫名稱。 |
databaseserver (ds) |
使用具名執行個體的有效資料庫伺服器名稱 (例如「銷售量」);其格式可能顯示為「伺服器\伺服器」。 |
否 |
資料庫伺服器名稱。若未提供任何值,將會使用預設的伺服器。 |
databaseuser |
有效的使用者名稱,格式為 "Username1" |
否 |
使用 SQL 驗證的帳戶。使用時必須搭配 databasepassword 參數。 |
databasepassword |
有效的 SQL 密碼 |
否 |
只有在未實作 Windows 驗證的情況下,才使用 databasepassword 參數。因此,在 Microsoft SQL Server 驗證案例中,您需要傳遞 databaseuser 和 databasepassword 參數,來對資料庫伺服器進行驗證。使用 Windows 驗證時,由於會使用 NTLM 傳遞認證,因此可以省略這些參數。 |
sitewarning |
有效的整數,例如 10 |
否 |
在 Windows 事件記錄中產生警告事件之前,內容資料庫內所允許的網站集合數 (整數)。 |
sitemax |
有效的整數,例如 10 |
否 |
指定內容資料庫內所允許的網站集合數上限。 |
備註
如果您正在執行 Windows SharePoint Services 3.0 基礎結構更新,則當您使用內建工具還原或重新附加資料庫時,會保留每個內容資料庫的識別碼 (ID)。使用內建工具時,變更記錄檔保留的預設行為如下:
還原伺服器陣列時,會保留所有資料庫的變更記錄。
重新附加資料庫時,則會保留內容資料庫的變更記錄。
僅還原內容資料庫時,「不會」保留內容資料庫的變更記錄。
如需詳細資訊,請參閱<移動內容資料庫 (Windows SharePoint Services 3.0)>與<Back up and restore the entire farm (Windows SharePoint Services 3.0 technology)>。
如果您還原內容資料庫的舊版 SQL Server 備份,其搜尋索引所包含的項目,可能會多於伺服器陣列中已還原資料庫的項目。首先,使用 Stsadm 命令 stsadm –o deletecontentdb 從 SharePoint 伺服器陣列中斷連線資料庫,然後使用 SQL Server 工具來還原資料庫。其次,使用 Stsadm 命令 stsadm –o addcontentdb –clearchangelog 重新附加內容資料庫,並清除變更記錄。清除變更記錄會強制「搜尋」在資料庫上執行完整編目,因此索引不會再參照不存在的項目。
身為管理員的您,應該總是知道何時及是否要清除變更記錄。例如,如果將內容資料庫還原到最後一次使用 Microsoft SQL Server 層級備份工具編目之前的時間,並使用此作業將資料庫重新附加至伺服器陣列,在沒有清除變更記錄的情況下,會導致索引可能有該內容資料庫中存在、但已還原資料庫中不存在的項目。若要避免案例中發生的此一問題,請使用 clearchangelog 參數來清除記錄。如果未使用 clearchangelog 參數而錯誤地附加內容資料庫,您應該將其中斷連線,然後使用 clearchangelog 參數重新附加內容資料庫,如此一來,下一次編目可重設該內容資料庫的索引。
將內容資料庫附加至相同的 Web 應用程式時,預設會保留變更記錄和資料庫識別碼。如果需要變更資料庫識別碼 (例如識別碼互相衝突),assignnewdatabaseid 參數會為內容資料庫強制選取新的識別碼。
如果因為衝突而無法將資料庫附加至伺服器陣列,則會收到下列錯誤: 無法繼續附加作業,因為此伺服陣列的其他物件已含有相同識別碼。伺服陣列中的每個物件必須含有唯一的識別碼。為了繼續進行附加作業,您必須為此資料庫指定新的識別碼。若要以新識別碼附加此資料庫,請使用含有 -assignnewdatabaseid 參數的 " stsadm.exe -o addcontentdb" 作業。注意,如果此新資料庫和現有資料庫含有相同的網站集合,附加此資料庫將可能因為兩個資料庫之間發生衝突而造成孤立的網站集合。