Addcontentdb:Stsadm 操作 (Office SharePoint Server)

操作名称:Addcontentdb

说明

当指定 url 和 databasename 参数时,创建新的内容数据库或添加需要进行升级的数据库。

当创建内容数据库时,数据和日志文件的位置由 SQL 数据库服务器上构建的默认数据库设置决定。将创建一个内容数据库,并且使用一个主文件组承载一个数据 (.mdf) 文件和一个事务日志 (.ldf) 文件。

Important 重要说明:

如果您断开与内容数据库的连接并重新连接该数据库,请注意,该内容数据库中的内容在下次被爬网时,将会出现完全爬网,即使已请求了增量爬网也是如此。因为完全爬网将会对爬网程序遇到的所有内容进行重新爬网(无论这些内容先前是否已被爬网),所以完全爬网所需的时间明显多于增量爬网。

语法

stsadm.exe -o addcontentdb

-url <URL name>

-[-assignnewdatabaseid]

-[-clearchangelog]

-databasename <database name>

[-databaseserver <database server name>]

[-databaseuser <database username>]

[-databasepassword <database password>]

[-sitewarning <site warning count>]

[-sitemax <site max count>]

参数

参数名和缩写形式 是否必需 说明

url

一个有效的 URL,例如 http://server_name

要向其添加内容数据库的 Web 应用程序的 URL。

assignnewdatabaseid

一个有效的 GUID,例如“12345678-90ab-cdef-1234-567890bcdefgh”

在附加内容数据库时自动创建一个新的数据库 ID。此参数是在 Microsoft Office Server 的基础结构更新中首次引入的。有关详细信息,请参阅“备注”。

clearchangelog

<无>

清除更改日志。

在需要时(比如使用单独的 SQL Server 级别的备份工具将内容数据库还原到以前时间点)强制清除更改日志。此参数是在 Microsoft Office Server 的基础结构更新中首次引入的。有关详细信息,请参阅“备注”。

databasename (dn)

一个有效的数据库名称,例如“DB1”

数据库名称。

databaseserver (ds)

一个有效的数据库服务器名称,例如“Sales”(此处使用的是命名实例);格式可能会显示为 server\server

数据库服务器名称。如果未提供值,则使用默认服务器。

databaseuser

一个有效的用户名,格式为“Username1”

用于 SQL 身份验证的帐户。必须与 databasepassword 结合使用。

databasepassword

一个有效的 SQL 密码

只有在未实现 Windows 身份验证的情况才应使用 databasepassword 参数。因此,在 Microsoft SQL Server 身份验证方案中,需要传递 databaseuser 参数和 databasepassword 参数来针对数据库服务器进行身份验证。在 Windows 身份验证方案中,可以忽略这些参数,因为此方案使用 NTLM 来传递凭据。

sitewarning

一个有效的整数,例如 10

在 Windows 事件日志中生成警告事件之前,内容数据库中允许的网站集的整数数量。

sitemax

一个有效的整数,例如 10

指定内容数据库中允许的网站集的最大数目。

备注

如果您运行的是 Microsoft Office Server 的基础结构更新,则当您使用内置工具还原或重新附加数据库时,将保留每个内容数据库的标识符 (ID)。使用内置工具时的默认更改日志保留行为如下所示:

  • 在还原服务器场时,将保留所有数据库的更改日志。

  • 在重新附加数据库时,将保留内容数据库的更改日志。

  • 在仅还原内容数据库时,将不会保留该内容数据库的更改日志。

有关详细信息,请参阅移动内容数据库 (Office SharePoint Server 2007)备份和还原整个服务器场 (Office SharePoint Server 2007)

如果您还原内容数据库的较旧的 SQL Server 备份,搜索索引可能包含比服务器场中所还原的数据库更多的条目。首先,使用 Stsadm 命令 stsadm –o deletecontentdb 从 SharePoint 场分离该数据库,然后使用 SQL Server 工具还原该数据库。接下来,使用 Stsadm 命令 stsadm –o addcontentdb –clearchangelog 重新附加该内容数据库并清除更改日志。清除更改日志会强制搜索功能对该数据库运行完全爬网,以便索引不再引用不存在的项。

作为管理员,您应始终知道何时以及是否应清除更改日志。例如,如果使用 Microsoft SQL Server 级别的备份工具将内容数据库还原到早于上次爬网的时间,并且此操作用于将内容数据库重新附加到服务器场,那么不清除更改日志将会导致索引可能具有该内容数据库中的项目的条目,而这些项目在所还原的数据库中不存在。若要防止在此情形中出现这种问题,请使用 clearchangelog 参数来清除日志。如果在不使用 clearchangelog 参数的情况下错误地附加了内容数据库,您应分离该内容数据库,然后使用 clearchangelog 参数重新附加它,以便下次爬网时能够重置该内容数据库的索引。

如果将内容数据库附加到同一 Web 应用程序,默认情况下将会保留更改日志和数据库 ID。如果需要更改数据库 ID(如 ID 冲突),则 assignnewdatabaseid 参数将强制为内容数据库选择新的 ID。

如果您由于发生冲突而无法将数据库附加到服务器场,则会收到以下错误:由于此服务器场中的另一对象已包含同一 ID,无法继续附加操作。服务器场中的每个对象必须具有唯一的 ID。若要继续进行附加操作,您必须将一个新 ID 分配给此数据库。若要附加使用新 ID 的数据库,请使用“stsadm.exe -o addcontentdb”操作和 -assignnewdatabaseid 参数。请注意,如果这个新数据库与现有数据库包含相同网站集,则附加此数据库可能会导致网站集孤立,因为这两个数据库之间会发生冲突。