要求:旧系统数据全部迁移至新系统,达到如同新系统产生的数据一样
难点1:旧系统约400个表,新系统约300个表,数据表结构完全不一样,数据量大。
难点2:旧系统由于过去有BUG或其他原因,导致部分数据是不完整的,但新系统对该数据可能要求是必填的。
难点3:外键映射复杂,且在新系统中主键的数据类型可能不同(比如旧系统是数字,新系统是uniqueidentifier,甚至更复杂的情况)
难点4:客户要求新系统上线时旧系统下线,一上一下(客户要求无法变更)。
难点5:旧系统对外提供接口,该接口被其他系统所用。
难点6:割接数据肯定不是一两天完成,旧系统仍然每天产生新数据。
难点7:不确定的内容需要客户确认(比如旧系统某业务在新系统不适用),但客户不能及时给予答复。
难点8:待定的部分可能会影响数据迁移的进度。
难点9:附件数据迁移,文件服务器的文件也需要迁移,但新系统对某类型附件要求存的是.jpg,但旧系统目前存储的是rar。
第一次做数据割接,没什么经验,希望各位能结合其中的难点,谈谈数据迁移的策略,经验和技巧,也当是对自己的锻炼。
给客户重新改版,那你们就得要重新的教他们怎么用
着重说你们新版的优点,说服他们了 其他好办
关键还是很多数据不能给搞丢了
链接服务器,然后手工编写 insert语句,把旧数据插入到新数据库中去。
先备份,然后对原来的数据库进行修改,达到迁移要求后再进行迁移工作。建议使用两个SSIS包,一个做整体切换,另一个定期不定期做切换后的新数据转移.
当然要对每个表进行实际分析了.
对于 主键int(bigint) to guid,在mssql中可以使用:
e.g.
Declare @x int
set @x=454
select convert(uniqueidentifier,convert(binary(16),@x)))