ewr212 发表于 2014-12-11 13:53:02

记一次SQL server 2005 到SQL server 2008 数据库迁移

    最近周末完成了一个从SQL server 2005升级到SQL server 2008的升级迁移,其实质是一个服务器迁移的过程。比较复杂的是这个服务器上的复制关系,自身既作为发布服务器,又作为订阅服务器,因此整个迁移同时需保证这些复制关系依旧可用。这个主服务器是供ERP使用,涉及到的模块也比较相对多,因此从迁移到验证整个过程还是比较长。记下本文以示庆贺。

一、主要的步骤
    1、检查现有数据库的备份完整性(含发布及订阅数据库)及存在的复制关系   
    2、停止原服务器所有服务(含agent),复制所有需要迁移的数据文件到新服务器
    3、导出原服务器上的发布对象
    4、将数据库附加到新服务器
    5、新建/配置分发服务器
    6、新服务器发布文章(3份)
    7、在新服务器上删除之前的订阅
    8、在发布服务器TK456/KSERP上重新初始化指向新服务器的订阅

二、迁移过程中碰到的错误及解决办法
    在新环境配置好了复制之后,收到如下错误提示:
    Invalid column name ‘originator_id’. (Microsoft SQL Server, Error: 207)
    Create replication fails on database which is migrated from SQL Server 2005 with error
    -- Author : Leshami
    -- Blog   : http://blog.iyunv.com/leshami
    Error:
    ADDITIONAL INFORMATION:
    An exception occurred while executing a Transact-SQL statement or batch. (Microsoft.SqlServer.ConnectionInfo)
    ——————————
    Invalid column name ‘originator_id’. (Microsoft SQL Server, Error: 207)
    解决方案
    Resolution:
    1.Add originator_idcolumn to syspublications table in publication db. Run below query in your publication DB.
      ALTER TABLE dbo.syspublications ADD NULL;
    2. Add a column originator_idinto the view dbo.syspublications inside distribution database
    3. Add a originator_idcolumn into IHpublications table in distribution database

三、现场花絮



页: [1]
查看完整版本: 记一次SQL server 2005 到SQL server 2008 数据库迁移