SharePoint迁移(非域环境)

来源:互联网 发布:linux系统管理员书籍 编辑:程序博客网 时间:2024/05/17 08:57

当前环境

   创建新的服务器场,所有服务都运行在该服务器上。

   OS: Windows Server 2003 SP2 (EN)

   .Net Framwork 3.5 SP1

   SQL Server 2008 (SP1)

   SharePoint 2007 (SP2)

   服务器并不在域环境中。

   SharePoint - 8080  (门户网站)

   SharePoint - 8181  (SSP个人网站HOST)

   Sharepoint - 8180  (SSP管理站点)

 

目标环境 : 与原环境一致

以前迁移过一次,当时还是刚接触SharePoint的菜鸟,用的方法是sharepoint自带的备份和还原,事实证明微软自带的备份还原平时用来备份下网站集或是SSP还可以,用来迁移就不敢恭维了。服务器并不是域环境,所以用户的迁移当时成了很头疼的问题,尝试了adduser,copypwd工具没成功后只能一个一个的重新添加,而且由于SID不同步,又把所有sharepoint用户干掉重新添加分组。(鄙视我吧,无知真可怕)。

 

参考链接:

这次参考了直接迁移数据库的方法:

http://www.cnblogs.com/SoulStore/archive/2007/05/14/745508.html

同时也决定规划一下相应的用户。

 

一 准备工作

     在原服务器场备份配置数据库SharePoint_Config和管理中心数据库SharePoint_AdminContent外的所有数据库: 比如

           webapplication 对应的content database, ssp service database, ssp search databse等.

二  用户规划

     安装用户: 安装sharepoint的用户

     管理站点配置数据库连接用户: 这个用户会被认定为system account

    wss search service 服务账户

    wss search content  access user:

    office Farm Search Service Account:

    每个web application :  application pool account 应用程序池标识用户,

     ssp Service Credentials : Specify the credentials for the SSP Web services to use for inter-server communication  

                                               and for running SSP-scoped timer jobs

三 环境安装

    OS --》 IIS --》 .Net Framework2.0 -》 .Net Framwork 3.5 --》 SQL Server 2008 (EN) --》 SQL Server 2008 SP1

    --》  SharePoint 2007 --》 sharepoint 相关补丁

四 配置

   1.  安装完补丁后运行配置向导完成sharepoint的配置。

   2. 进入管理中心,开启Excel Caculation Service, Windows sahrepoint service help search, office sharepoint service

         search服务.

   3. 在SQL Server Enterprise Manager中,还原所有之前备份的SharePoint相关的数据库,除了配置数据库SharePoint_Config和管

        理中心数据库SharePoint_AdminContent    

   4.  通过管理中心新建立web应用程序,并删除所关联的内容数据库

        新建 Sharepoint -8080, Sharepoint- 8181, Sharepoint - 8180 应用程序 

        删除系统自动生成的关联内容数据库,附加上还原好的原内容数据库  

   5.  还原SSP:

        这一步我按照参考链接里的步骤去做是始终会报错:

        1) 开始是提示权限不够访问ssp的内容数据库,可能是因为附加过来的,所以sharepoint无法自动添加现有服务器场用户对该内容

               数据库的权限。给场用户添加了数据库权限后不在提示这个错误

        2) 设置好数据库权限后又会提示“未将对象引用到实例”,可能是我的个人网站HOST有问题吧,只有新建一个个人网站HOST。

        设置好了,开始还原,将SSP Service database 和SSP Search database 设置为还原过来的对应数据库。

         等待一会,提示成功。

五  用户的导入导出

     虽然内容已经成功还原过来,但是SSP里存储的UserProfile对应的用户SID是旧服务器上的,同时原服务器上采用的是Windows验证,

     已经存在几百个用户,所以这里会用到微软工具包里的一些工具

     参考链接:

     http://apps.hi.baidu.com/share/detail/30554350

     特别注意的是

     1. 这两个命令一定要在源主机上执行,不可以远程控制执行。如果只能远程控制,可以添加开机计划任务。

     2. 导出的用户和组要进行筛选,比如一些系统用户,数据库用户,IIS用户等,我认为我们要导入的只是sharepoint关联的用户而已。

         其他的可以删除掉

     3. 导入用户时记得选择密码策略,比如说用户密码是否过期。。。 

六  MigrateUser

      用户及密码导入成功后,剩下的就是如何同步新服务器上用户与Sharepoint User的SID同步了,幸好Sharepoint提供了一个同步的

      方 法:

     STSADM -O MigrateUser -oldlogin "旧域名/用户名" -newlogin "新域名/用户名“   (这里的域名就是计算机名了)

    当然了,这个命令貌似只能一次一个,用*代替似乎不可行。 于是写了个批处理,从上一步导出的用户文件里读取用户名(当然也要自己

    根据情况筛选的),然后一个一个进行同步。

  

 


 

        @echo off
       set stspath="D:/Program Files/Common Files/Microsoft Shared/web server extensions/12/BIN/STSADM.EXE"
        for /f "skip=1 delims=," %%i in (users.txt) do (
        %stspath% -o migrateuser -oldlogin ccpswt/%%i -newlogin ccpsp/%%i.hp -ignoresidhistory
         ) 
        pause>nul

 


 

       当然了,这中间碰到的问题是每次执行命令的时候,第一次总是会提示失败(但我明明到SSP中UserProfile已经改变了),然后同样的

       命令执行第二遍才提示成功。所以只有把批处理执行了两遍,汗!!

       搞定以后用以前的账号密码登陆,提示成功。

原创粉丝点击