繁琐又危险的任务(varchar--nvarchar)
項目基本設(shè)計時的失誤,現(xiàn)在為了在非純英文地區(qū)使用公司的系統(tǒng),4月1日前,必須將數(shù)據(jù)庫中全部的varchar轉(zhuǎn)換到nvarchar,當然要保證原有數(shù)據(jù)不能丟失。
大概的思路:
一、準備工作,備份所有的資源,建造測試環(huán)境,然后:
??? 1、檢查SQL里所有View、SP、Function、Trigger,確保都是可靠的;
??? 2、檢查SQL里所有varchar字段的情況;
??? 3、檢查WebService里面對所有varchar字段地使用情況;
??? 4、檢查WinFrom客戶端里面對所有varchar字段地使用情況;
二、在測試數(shù)據(jù)庫上進行更改
??? 1、生成所有View、SP、Function、Trigger的SQL腳本;
??? 2、修改所有長度小于4000的varchar字段為nvarchar;
??? 3、修改所有長度大于4000的varchar字段為ntext;
??? 4、替換View、SP、Function、Trigger的SQL腳本里所有的varchar為nvarchar,注意先檢查會不會有需要轉(zhuǎn)換到ntext的字段出現(xiàn),然后重新生成View、SP、Function、Trigger;
???
三、更改測試WebService
??? 1、在每個SqlDataAdapter上重新進行一遍“配置數(shù)據(jù)適配器”向?qū)?#xff0c;應(yīng)該基本上修改了所有機器生成的代碼中的varchar;
??? 2、在全部的代碼中查找"Varchar",(全字匹配,不區(qū)分大小寫),找到的將是所有手寫的varchar,替換為nvarchar;
??? 3、編譯。
四、修改client WinForm
??? 1、重新引用所有的“Web 引用”
??? 2、在全部的代碼中查找"Varchar",(全字匹配,不區(qū)分大小寫),找到的將是所有手寫的varchar,替換為nvarchar;
五、各模塊負責(zé)人對自己模塊的調(diào)試和詳細測試
??? 定會有不少問題出現(xiàn),但愿都能在1天之內(nèi)解決掉。
六、告知所有用戶將停止live的系統(tǒng)1-2天
七、升級live系統(tǒng)
??? 1、停止IIS、SQL、自己的服務(wù)
??? 2、備份
??? 3、在live庫上進行升級
??? 4、升級WS
??? 5、更新自動升級庫
??? 6、測試
??????? 不成功就成仁
八、重新啟動live系統(tǒng),告知用戶"好了!"。
轉(zhuǎn)載于:https://www.cnblogs.com/owl/archive/2005/03/27/126485.html
總結(jié)
以上是生活随笔為你收集整理的繁琐又危险的任务(varchar--nvarchar)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 排序算法测试主程序
- 下一篇: 快速清除SQL Server数据库日志的