移动一个网站集所使用的内容数据库
2007-12-03 19:01
405 查看
在默认的情况下,每个SharePoint Web应用程序只会使用一个内容数据库(Content Database)。随着在这个Web应用程序中创建的网站集越来越多,或者网站集中的数据越来越多,这个内容数据库也在不断的增大。
也许是为了提高性能,也许是原有的内容数据库剩余空间已经不多,管理员可以给一个Web应用程序创建更多的内容数据库。在SharePoint管理中心的“应用程序管理 - 内容数据库”中,管理员在选中了一个Web应用程序后,可以创建新的内容数据库:
通过将新的内容数据库指定到不同的SQL Server物理服务器,在创建新的网站集时,就可以将新网站集所使用的内容数据库分布到不同的服务器上,达到负载均衡的效果。
当一个Web应用程序有多个内容数据库时,默认会使用最后创建的内容数据库来承载新的网站集。如果想指定一个特定的内容数据库来承载新网站集,可以将其他内容数据库的状态更改为“脱机”即可。这里的“脱机”并非指这个内容数据库不可用,而是不用它来承载新网站集。
但是有时候,我们也需要将一个已经存在的网站集所使用的内容数据库从一个转移到另一个上面。比如,最开始的时候,我们这样设计SharePoint服务器场的拓扑,将所有的东东都安装到一台服务器上(除了用来进行测试和开发,我都不推荐在生产环境中使用这种拓扑结构):
但是一个月之后,我们发现数据库的增长速度远远超过我们的想像,这一台服务器很快就不堪重负,于是,我们添加一台新的服务器,专用跑SQL数据库:
然后,我们就需要将原来的内容数据库移动到那台新的SQL服务器上。首先,我们需要为Web应用程序创建新的内容数据库,并指定这个新的内容数据库使用新的SQL服务器,然后...
如果在以前,然后要做的,就只能是先备份网站集,然后恢复到新的内容数据库上,显然很stupid...也许是这个需求太普遍了,所以在WSS 3.0的这个hotfix package(直接下载链接)里面,直接添加了一个stsadm指令,“mergecontentdbs”。这个指令的说明参看这里。不过这个说明写得确实太简单了点...下面用一个示范来详细说明怎么用:
我们现在创建一个新的内容数据库,“WSS_Content_80_2”,于是我们就有了两个内容数据库:
如果要将原有放在“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”文件里面,打开这个文件:
将不希望移动内容数据库的网站集信息删除,比如,我们只希望移动第三个网站集“http://moss/sites/sales”的内容数据库,那么就改成这样:
然后执行:
stsadm -o mergecontentdbs -url http://moss -sourcedatabasename WSS_Content -destinationdatabasename WSS_Content_80_2 -filename sites.xml -operation 3
注意执行完这个指令后,都需要执行“iisreset”。现在,在内容数据库管理页面可以看到,新的“WSS_Content_80_2”内容数据库已经承载一个网站集了。
也许是为了提高性能,也许是原有的内容数据库剩余空间已经不多,管理员可以给一个Web应用程序创建更多的内容数据库。在SharePoint管理中心的“应用程序管理 - 内容数据库”中,管理员在选中了一个Web应用程序后,可以创建新的内容数据库:
通过将新的内容数据库指定到不同的SQL Server物理服务器,在创建新的网站集时,就可以将新网站集所使用的内容数据库分布到不同的服务器上,达到负载均衡的效果。
当一个Web应用程序有多个内容数据库时,默认会使用最后创建的内容数据库来承载新的网站集。如果想指定一个特定的内容数据库来承载新网站集,可以将其他内容数据库的状态更改为“脱机”即可。这里的“脱机”并非指这个内容数据库不可用,而是不用它来承载新网站集。
但是有时候,我们也需要将一个已经存在的网站集所使用的内容数据库从一个转移到另一个上面。比如,最开始的时候,我们这样设计SharePoint服务器场的拓扑,将所有的东东都安装到一台服务器上(除了用来进行测试和开发,我都不推荐在生产环境中使用这种拓扑结构):
但是一个月之后,我们发现数据库的增长速度远远超过我们的想像,这一台服务器很快就不堪重负,于是,我们添加一台新的服务器,专用跑SQL数据库:
然后,我们就需要将原来的内容数据库移动到那台新的SQL服务器上。首先,我们需要为Web应用程序创建新的内容数据库,并指定这个新的内容数据库使用新的SQL服务器,然后...
如果在以前,然后要做的,就只能是先备份网站集,然后恢复到新的内容数据库上,显然很stupid...也许是这个需求太普遍了,所以在WSS 3.0的这个hotfix package(直接下载链接)里面,直接添加了一个stsadm指令,“mergecontentdbs”。这个指令的说明参看这里。不过这个说明写得确实太简单了点...下面用一个示范来详细说明怎么用:
我们现在创建一个新的内容数据库,“WSS_Content_80_2”,于是我们就有了两个内容数据库:
如果要将原有放在“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”文件里面,打开这个文件:
将不希望移动内容数据库的网站集信息删除,比如,我们只希望移动第三个网站集“http://moss/sites/sales”的内容数据库,那么就改成这样:
然后执行:
stsadm -o mergecontentdbs -url http://moss -sourcedatabasename WSS_Content -destinationdatabasename WSS_Content_80_2 -filename sites.xml -operation 3
注意执行完这个指令后,都需要执行“iisreset”。现在,在内容数据库管理页面可以看到,新的“WSS_Content_80_2”内容数据库已经承载一个网站集了。
相关文章推荐
- 移动一个网站集所使用的内容数据库
- 移动一个网站集所使用的内容数据库
- 转:管理网站集所使用的内容数据库
- 今天做一个网站与另外一个网站整合,学会了视图在不同数据库中的使用
- 两个网站使用同一个数据库,使用同一个登陆页面(一个网站从另一个网站登陆,)
- postgres使用pg_resetxlog命令重置一个数据库集群的预写日志以及其它控制内容
- 使用内容提供者ContentProvider与内容访问者ContentResolver实现拿到另外一个项目的数据库数据
- ADO 实例《创建一个临时数据库 创建一个临时数据表 GridView1绑定内容 以及Dataset_的使用》
- 使用EF Code First搭建一个简易ASP.NET MVC网站,允许数据库迁移
- 经验总结26--EF6多网站使用一个数据库
- 网站集所使用的内容数据库转移及相关stsadm命令
- 一个使用TXT文本的JSP网站访问计数器(不用任何数据库)
- ASP.NET动态网站开发培训-05.使用GridView显示数据库内容
- java中list集合的内容,如何使用像数据库中group by形式那样排序
- mysql 触发器使用实例(修改一个表内容的同时另一个表内容自动变化)
- java图书管理的一个小模块(增删改查,不使用数据库)
- 使用IntelliJ IDEA开发SpringMVC网站(三)数据库配置
- 利用移动提供的网站用C#做一个免费发短信的程序(不含源码)
- 一个统计当前在线用户的解决方案,可以在聊天室、论坛、网站中使用
- ASP.NET实现网站评论内容无限引用使用自反+递归技术