.NET_STAR

打造技术团队,愿与您共同开创事业!

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: :: 管理 ::

说明:如果一个web应用程序的内容数据库太大,则要考虑把该内容数据库中的网站集分离到另一个内容数据库,以减轻数据库的压力

 

一、内容数据库转移

在默认的情况下,每个SharePoint Web应用程序只会使用一个内容数据库(Content Database)。随着在这个Web应用程序中创建的网站集越来越多,或者网站集中的数据越来越多,这个内容数据库也在不断的增大。

也许是为了提高性能,也许是原有的内容数据库剩余空间已经不多,管理员可以给一个Web应用程序创建更多的内容数据库。在SharePoint管理中心的“应用程序管理 - 内容数据库”中,管理员在选中了一个Web应用程序后,可以创建新的内容数据库:
image
通过将新的内容数据库指定到不同的SQL Server物理服务器,在创建新的网站集时,就可以将新网站集所使用的内容数据库分布到不同的服务器上,达到负载均衡的效果。

当一个Web应用程序有多个内容数据库时,默认会使用最后创建的内容数据库来承载新的网站集。如果想指定一个特定的内容数据库来承载新网站集,可以将其他内容数据库的状态更改为“脱机”即可。这里的“脱机”并非指这个内容数据库不可用,而是不用它来承载新网站集。
image 

但是有时候,我们也需要将一个已经存在的网站集所使用的内容数据库从一个转移到另一个上面。比如,最开始的时候,我们这样设计SharePoint服务器场的拓扑,将所有的东东都安装到一台服务器上(除了用来进行测试和开发,我都不推荐在生产环境中使用这种拓扑结构):
image

但是一个月之后,我们发现数据库的增长速度远远超过我们的想像,这一台服务器很快就不堪重负,于是,我们添加一台新的服务器,专用跑SQL数据库:
image

然后,我们就需要将原来的内容数据库移动到那台新的SQL服务器上。首先,我们需要为Web应用程序创建新的内容数据库,并指定这个新的内容数据库使用新的SQL服务器,然后...

如果在以前,然后要做的,就只能是先备份网站集,然后恢复到新的内容数据库上,显然很stupid...也许是这个需求太普遍了,所以在WSS 3.0的这个hotfix package直接下载链接)里面,直接添加了一个stsadm指令,“mergecontentdbs”。这个指令的说明参看这里。不过这个说明写得确实太简单了点...下面用一个示范来详细说明怎么用:

我们现在创建一个新的内容数据库,“WSS_Content_80_2”,于是我们就有了两个内容数据库:
image 

如果要将原有放在“WSS_Content”里面的所有网站集全部转为使用新的“WSS_Content_80_2”,就直接这样用:
stsadm -o mergecontentdbs -url http://moss -sourcedatabasename WSS_Content -destinationdatabasename WSS_Content_80_2 -operation 2

如果只想将指定的网站集的内容数据库转到“WSS_Content_80_2”上面,那么就先执行:
stsadm -o enumsites -url http://moss >sites.xml

上面的指令列出指定Web应用程序中所有的网站集,并将结果用管道命令写到“sites.xml”文件里面,打开这个文件:
image

将不希望移动内容数据库的网站集信息删除,比如,我们只希望移动第三个网站集“http://moss/sites/sales”的内容数据库,那么就改成这样:
image

然后执行:
stsadm -o mergecontentdbs -url http://moss -sourcedatabasename WSS_Content -destinationdatabasename WSS_Content_80_2 -filename sites.xml -operation 3

注意执行完这个指令后,都需要执行“iisreset”。现在,在内容数据库管理页面可以看到,新的“WSS_Content_80_2”内容数据库已经承载一个网站集了。
image

 

 二、相关stsadm命令(如:添加、删除内容数据库等,摘自MSDN)

 

Addcontentdb:Stsadm 操作 (Windows SharePoint Services)

更新: 2008-07-15

操作名称: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

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

 

实例:

 


添加内容数据库:
C:\Documents and Settings\Administrator>stsadm -o addcontentdb -url http://lmjob
:1122 -databasename WSS_Content_1122 -databaseserver lmjob -databaseuser sa -dat
abasepassword sa


删除内容数据库:
C:\Documents and Settings\Administrator>stsadm -o deletecontentdb -url http://lm
job:777 -databasename WSS_Content_777 -databaseserver lmjob

 

附:

  cd %commonprogramfiles%\Microsoft Shared\Web server extensions\12\Bin
备份还原网站
stsadm -o backup -url http://spweb/sites/fdp -filename C:\fdp_0216.bak -overwrite
stsadm -o restore -url http://spweb/sites/fdp -filename D:\BACKUP\fdp_0216.bak -overwrite
导入导出备份
stsadm -o import -url http://portalsuat/smspindia/bi -filename c:\smspindia-bi.cab -includeusersecurity -haltonfatalerror
stsadm -o export -url http://simoss/sites/gns/circuits -filename d:\backups\GNSCircuit\gnscircuit20090207.bak -includeusersecurity -haltonfatalerror
添加删除数据库
stsadm -o preparetomove -contentdb SIMOSSSHOWSQL01:WSS_Content_SIDEVVM02 -site http://sidevvm02
stsadm -o deletecontentdb -url http://sidevvm02 -databasename WSS_Content_SIDEVVM02
stsadm -o addcontentdb -url http://sidevvm02 -databasename WSS_Content_SIDEVVM02
命令行修改密码
cd %commonprogramfiles%\Microsoft Shared\Web server extensions\12\Bin
stsadm -o updatefarmcredentials -userlogin REDMOND\sicfgact -password Feb19Upd@t
iisreset /noforce
stsadm -o updateaccountpassword -userlogin REDMOND\sicfgact -password Feb19Upd@t -noadmin
stsadm.exe -o spsearch -farmserviceaccount REDMOND\sicfgact -farmservicepassword Feb19Upd@t
stsadm.exe -o spsearch -farmcontentaccessaccount REDMOND\sicfgact -farmcontentaccesspassword Feb19Upd@t
stsadm.exe -o editssp -title SharedServices1 -ssplogin REDMOND\sicfgact -ssppassword Feb19Upd@t
stsadm.exe -o osearch -farmserviceaccount REDMOND\sicfgact -farmservicepassword Feb19Upd@t
锁定网站
stsadm -o getsitelock -url http://sdt-help/personal/test
stsadm -o setsitelock -url http://sdt-help/personal/test -lock readonly
修复数据库
stsadm -o databaserepair -url http://portalsuat/smspindia/bi -databasename WSS_Content_PORTALSUAT02c
stsadm -o databaserepair -url http://portalsuat/smspindia/bi -databasename WSS_Content_PORTALSUAT02b -deletecorruption
删除网站
stsadm -o deletesite -url http://portalsuat/smspindia/bi
转移所在数据库
Stsadm -o enumsites -url http://portalsuat > C:\SYSTEM_LOG\2009-03-26\sites.xml 
Stsadm -o mergecontentdbs -url http://portalsuat -sourcedatabasename WSS_Content_PORTALSUAT02b -destinationdatabasename WSS_Content_PORTALSUAT02c -operation 3 -filename C:\SYSTEM_LOG\2009-03-26\sites.xml 
iisreset /noforce
升级sharepoint 6332
cd %commonprogramfiles%\Microsoft Shared\Web server extensions\12\Bin
stsadm -o preparetomove -contentdb SIMOSSSHOWSQL01:WSS_Content_SIDEVVM02 -site http://sidevvm02
stsadm -o deletecontentdb -url http://sidevvm02 -databasename WSS_Content_SIDEVVM02
net start spadmin 
net start sptimerv3
psconfig -cmd upgrade -inplace b2b -force
stsadm -o addcontentdb -url http://sidevvm02 -databasename WSS_Content_SIDEVVM02
安装激活feature
stsadm -o installfeature -filename [feature文件夹下]\feature.xml
stsadm -o activatefeature -filename [feature文件夹下]\feature.xml -url http://[计算机名]:[端口]/sites/portol -force

posted on 2010-05-17 17:04  雷明  阅读(945)  评论(0编辑  收藏  举报