SQL2005,如何對比兩個數(shù)據(jù)庫之間的差異
當(dāng)前位置:點晴教程→知識管理交流
→『 技術(shù)文檔交流 』
開發(fā)環(huán)境下的數(shù)據(jù)庫,和已經(jīng)發(fā)布出去的數(shù)據(jù)庫,如何通過程序自動化對比兩個數(shù)據(jù)庫之間的差異,特別是表結(jié)構(gòu)和視圖差異。然后好確定升級方案 答:up
比如說tables是否一致,column是否一致,SP,Trigger是否一致之類的。 環(huán)境上來說,應(yīng)該有開發(fā)環(huán)境,你可以做任意動作 然后有測試環(huán)境,這個環(huán)境應(yīng)該與產(chǎn)品環(huán)境(已經(jīng)發(fā)布的庫)盡量一致,而且在這上面進(jìn)行結(jié)構(gòu)變動應(yīng)該得到控制和記錄 測試通過后的東西才能發(fā)布到產(chǎn)品環(huán)境,這個必須是在測試環(huán)境通過測試的,而且發(fā)布當(dāng)然需要得到控制和記錄. 通過這樣的控制,比較差異就可以免了,而且環(huán)境不會亂掉. 應(yīng)該要避免隨便修改的問題,不能想改那就改哪,然后通過差異比較來修正,這樣只會使環(huán)境越來越亂.而且同步的差異極大 對于比較差異,表和視圖都可以通過列級比較. 對于存儲過程,用戶定義函數(shù),觸發(fā)器等,可以考慮生成腳本,然后比較腳本的差異. http://blog.csdn.net/zjcxc/archive/2004/01/04/20088.aspx (這個是2000的版本) 比較差異是必須的,必須的理由是在測試過程中,也會有一些修改,而這些修改,做到全部記錄在案有點困難,即使記錄在案,還是存在來回改動的問題,因此,統(tǒng)計這個紀(jì)錄也很難,如果統(tǒng)計了這個紀(jì)錄,我還不如挨個表比較過去。 至于存儲過程比較好辦,一般是直接刪除原有的存儲過程,然后導(dǎo)入新存儲過程即可。因為在我的理解存儲過程中不存數(shù)據(jù)。 我想請教一個問題,如何實現(xiàn)通過我的客戶端程序?qū)С鼋ū砟_本和刪除表腳本和修改表腳本? 修改成2005版的,也就是對那些表進(jìn)行替換,但是總是無法實現(xiàn)效果,查找出來都是空的。 請問,能否寫一個適合2005的? 該文章在 2010/9/30 1:17:46 編輯過 |
關(guān)鍵字查詢
相關(guān)文章
正在查詢... |