繁琐又危险的任务(varchar-->nvarchar)

因项目设计失误,需在4月1日前将数据库中varchar转换为nvarchar且不丢失数据。给出详细升级方案,包括准备工作、测试数据库更改、WebService和WinForm修改、各模块调试测试、停止系统、升级live系统等步骤,最后重启系统并告知用户。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

项目基本设计时的失误,现在为了在非纯英文地区使用公司的系统,4月1日前,必须将数据库中全部的varchar转换到nvarchar,当然要保证原有数据不能丢失。

大概的思路:
一、准备工作,备份所有的资源,建造测试环境,然后:
    1、检查SQL里所有View、SP、Function、Trigger,确保都是可靠的;
    2、检查SQL里所有varchar字段的情况;
    3、检查WebService里面对所有varchar字段地使用情况;
    4、检查WinFrom客户端里面对所有varchar字段地使用情况;

二、在测试数据库上进行更改
    1、生成所有View、SP、Function、Trigger的SQL脚本;
    2、修改所有长度小于4000的varchar字段为nvarchar;
    3、修改所有长度大于4000的varchar字段为ntext;
    4、替换View、SP、Function、Trigger的SQL脚本里所有的varchar为nvarchar,注意先检查会不会有需要转换到ntext的字段出现,然后重新生成View、SP、Function、Trigger;
   
三、更改测试WebService
    1、在每个SqlDataAdapter上重新进行一遍“配置数据适配器”向导,应该基本上修改了所有机器生成的代码中的varchar;
    2、在全部的代码中查找"Varchar",(全字匹配,不区分大小写),找到的将是所有手写的varchar,替换为nvarchar;
    3、编译。

四、修改client WinForm
    1、重新引用所有的“Web 引用”
    2、在全部的代码中查找"Varchar",(全字匹配,不区分大小写),找到的将是所有手写的varchar,替换为nvarchar;

五、各模块负责人对自己模块的调试和详细测试
    定会有不少问题出现,但愿都能在1天之内解决掉。

六、告知所有用户将停止live的系统1-2天

七、升级live系统
    1、停止IIS、SQL、自己的服务
    2、备份
    3、在live库上进行升级
    4、升级WS
    5、更新自动升级库
    6、测试
        不成功就成仁

八、重新启动live系统,告知用户"好了!"。

posted on 2005-03-27 00:01 owl 阅读( ...) 评论( ...) 编辑 收藏

转载于:https://www.cnblogs.com/owl/archive/2005/03/27/126485.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值