如果你想要把你的Sharepoint网站集从测试服务器移动到生产服务器上,根据网上的资料,有多种方式可以实现,这里我测试了使用STSADM的方式进行移动(此方式微软好像不太推荐,尤其是在跨Farm进行移动时会存在问题,不过此处我们只是在同一Farm的不同服务器上操作,所以问题不大,实际上,我们提到“移动Moving”,应该是在同一Farm的环境下操作,如果是跨不同的Farm操作,准确的用语应该是 Migration/Updating)。下面直接描述操作步骤。

步骤一、使用STSADM Command备份Testing服务器上的Website Collection

用此命令前,可以参考我的另一篇笔记(harepoint学习笔记– 如何在系统Path中添加STSADM的快速引用(Add STSADM in path)))

备份时使用的STSADM Command如下:

Stsadm –o backup –url http://<server name>:<port> -filename <pathname to be used for the backup file>

Example:

tsadm –o backup –url http://sharepoint2010:6666 –filename "e:backup6666.bak"

述命名中: http://sharepoint2010:6666 就是你想要备份的Website Collection,如果备份操作顺利完成,就会显示 “Operation Completed Successfully”

有直接使 用此命令,而是在Testing 服务器的C:下创建了一个批处理文件(BackupMySP2010.BAT),代码内容如下:


复制代码

@echo off
@echo —————
@echo This script will backup your site: [http:// sharepoint2010:6666]
@echo —————
cd C:Program FilesCommon FilesMicrosoft SharedWeb Server Extensions14BIN
@echo locking site collection before the backup process starts
@echo off
stsadm -o getsitelock –url http:// sharepoint2010:6666

stsadm -o setsitelock –url http:// sharepoint2010:6666 -lock readonly
@echo site collection is now locked
@Echo Logic to create a new file name daily
@echo off
stsadm.exe -o backup –url http:// sharepoint2010:6666 -filename D: SPBackupMySP2010Backup.dat -overwrite

@echo backup completed
@echo please get backup file in folder filename D: SPBackupMySP2010Backup MySP2010Backup.dat
@echo off
stsadm -o setsitelock -url http:// sharepoint2010:6666 -lock none
@echo Site lock removed
cd C:

复制代码

接运行此文件即完成Website Collection的备份操作

步骤二、在生产服务器上创建Web Application用于运行将要恢复的网站集

入生产服务器 Sharepoint的Central Administration -> Application Management -> under Application Management -> click Create or Extend Web Application. 填写需要的信息,然后点 Ok 等待Web Application创建命令执行完毕

步骤 三、当Web Application创建成功后,运行 STSADM 恢复我们先前备份的Website Collection。

1.把先前备份Testing服务器上的Website Collection 文件D: SPBackupMySP2010Backup MySP2010Backup.dat 复制到生产机上的指定目录下(当然,如果两机共享,你也可通过网络直接访问而省掉此步),本例我们复制到生产机的目录D: SPBackupMySP2010Restore

2.使用如下STSADM Command命令恢复备份的网站集

Stsadm –o restore –url http://<server>:<port> -filename <pathname of the backup file>

Example:

Stsadm –o restore –url http:// sharepoint2010:6666 –filename " D: SPBackupMySP2010Restore MySP2010Backup.dat"

针对此步,我依然使用了批处理命令文件(RestoreMySP2010.Bat),代码内容如下:


复制代码

@echo off
@echo —————
@echo This script will Restore your site: [http:// sharepoint2010:6666 ]
@echo —————
cd C:Program FilesCommon FilesMicrosoft SharedWeb Server Extensions14BIN
@echo locking site collection before the backup process starts
@echo off
stsadm -o getsitelock -url http:// sharepoint2010:6666
stsadm -o setsitelock -url http:// sharepoint2010:6666 -lock readonly
@echo site collection is now locked
@echo off
stsadm.exe -o restore –url http:// sharepoint2010:6666 -filename D: SPBackupMySP2010Restore MySP2010Backup.dat
@echo Restore completed
@echo The backup file is from folder D: SPBackupMySP2010Restore MySP2010Backup.dat

@echo off
stsadm -o setsitelock –url http:// sharepoint2010:6666 -lock none
@echo Site lock removed
cd C:

复制代码

直接执行此文件,自动 完成恢复Website Collection的工作。

步骤 四. 如果恢复工作没成功,或者你在恢复完成后访问网站时遇到了一些奇怪的错误提示信息,这种情况,多半都是因为你原先的网站集有用户个性化的内容或设置,此类情况只有具体问题具体处理,针对不同的个性化内容进行相应的部署和操作,以达到和测试服务器上一致的个性化效果 。

下面我们列出最常见的处理情况。

1.部署用户的Solution(如果有的话)到生产机上.

1.1 使用STSADM命令先把用户Solution部署到服务器场上

stsadm –o addsolution –filename <path to mysolution.wsp>

Example:

stsadm -o addsolution -filename "D:SP1DEVshareSolutionbinDebugmysolution.wsp"

如果此Solution已经部署过了,则要先删除再部署,删除命令是

stsadm -o deletesolution -name "mysolution.wsp" -override

1.2 再使用STSADM命令把Solution部署到用户前面恢复的Web Collection上

stsadm -o deploysolution -name mysolution.internet.test.wsp -url <site> -immediate -allowgacdeployment –allowcaspolicies

Example:

stsadm -o deploysolution -name StarMaidSpSolutions.wsp -url http:// sharepoint2010:6666 -allowgacdeployment -immediate

此步骤也可以使用Sharepoint 管理中心的System SettingsàFarm ManagementàManage Farm Solution来完成,操作程序是: 选择要部署的 solution ,点击 顶上的‘Deploy’ 按钮,选择需要部署到的Web Application并确定。然后管理中心开始执行你的部署操作,这可能要花上几分钟。此过程完成后,要记得重新启动 IIS以使得刚才的部署快速生效。

2. 确保你移动的Web Collection所要用到的所有的Asssemblies (DLL)也存在于生产机的GAC(Global Assembly Cache)中

GAC通常位于c:windowsassembly目录。

 

3.激活用户Solution所涉及到的features.

在用户新部署的Web Collection中,Site Actionsà Site Settingsà Site Collection Featuresà

点击Activate按钮以激活相应的Site Collection Features

4.更新 Web.Config 文件

当用户的Solution添加DLLS时,我们需要修改Web.config,使它们注册为安全的Contol(Safe Controls)。可能还有其它某些设置需要在Web.config中修改(AssemblyBindings, PageParserPaths and Keys)。此文件的错漏会导致我们新移植的Website Collection跳出许多奇怪的报错。我们通常的作法是同时打开生产机和测试机上的此Website Collection的Web.config文件,比较两者,然后用参照测试机上的Web.config文件,使用Copy /Paste在生产机的Web.config文件中完善遗漏掉的设置。

Web.config 通常可以在如下的路径下找到: <drive letter>:InetpubwwwrootwssVirtualDirectories<port number>web.config

Example: C:InetpubwwwrootwssVirtualDirectories6666web.config

通常此步骤做完,新移植的Website Collection就可以在生产服务器上运行了。

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注