Addcontentdb:Stsadm 操作 (Windows SharePoint Services)

操作名称:Addcontentdb

说明

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

当创建内容数据库时,数据和日志文件的位置由 SQL 数据库服务器上构建的默认数据库设置决定。将创建一个内容数据库,并且使用一个主文件组承载一个数据 (.mdf) 文件和一个事务日志 (.ldf) 文件。当将 addcontentdb 操作用于创建内容数据库时,必须运行 spsearch 操作以将内容数据库与运行 Windows SharePoint Services 搜索服务的特定服务器关联起来。有关 spsearch 操作的其他信息,请参阅 Spsearch:Stsadm 操作 (Windows SharePoint Services)

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。此参数是在 Windows SharePoint Services 3.0 的基础结构更新 中首次引入的。有关详细信息,请参阅“备注”。

clearchangelog

<无>

清除更改日志

必要时(例如在使用单独的 SQL Server 级别的备份工具将内容数据库还原到以前的时间点时)强制清除更改日志。Windows SharePoint Services 3.0 的基础结构更新 率先引入了此参数。有关详细信息,请参阅“备注”。

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

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

备注

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

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

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

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

有关详细信息,请参阅移动内容数据库 (Windows SharePoint Services 3.0)管理 Windows SharePoint Services 3.0 技术的备份和恢复

如果还原内容数据库的较旧的 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 参数。请注意,如果此新数据库和现有数据库包含相同的网站集,那么,由于这两个数据库之间存在冲突,附加此数据库将可能产生孤立的网站集。