mysql降低数据库版本_三步10分钟搞定数据库版本的降迁 (将后台数据库SQL2008R2降为SQ...
三步10分鐘搞定數(shù)據(jù)庫版本的降遷 (將SQL2008R2降為SQL2005版本) 前思后想仍覺得實(shí)戰(zhàn)數(shù)據(jù)庫版本的降遷一文中的方式不僅老土而且低效,故有了下文三步搞定數(shù)據(jù)庫從MSSQL2008R2 高版本降遷至SQL2005低版本。 整個(gè)過程如果思路清晰,數(shù)據(jù)量小,不過就是10分鐘
三步10分鐘搞定數(shù)據(jù)庫版本的降遷 (將SQL2008R2降為SQL2005版本)
前思后想仍覺得實(shí)戰(zhàn)數(shù)據(jù)庫版本的降遷 一文中的方式不僅老土而且低效,故有了下文三步搞定數(shù)據(jù)庫從MSSQL2008R2 高版本降遷至SQL2005低版本。 整個(gè)過程如果思路清晰,數(shù)據(jù)量小,不過就是10分鐘的事,效率提高很多。
Discuz!NT 3.6.519 RC的后臺(tái)數(shù)據(jù)庫,這里需要利用一個(gè)免費(fèi)的數(shù)據(jù)庫對象同步工具,實(shí)際上整個(gè)操作過程中,這一步是最耗時(shí)低效,檢查發(fā)現(xiàn)用OpenDBDiff和SQL-DBDiff可以高效解決這個(gè)問題。
首先,MSSQL2008R2有源數(shù)據(jù)庫dnt2_db ,需要轉(zhuǎn)到MSSQL2005目標(biāo)數(shù)據(jù)庫dnt2_dbNew中。
第一步 在低版本數(shù)據(jù)庫中新建目標(biāo)庫。
案例中SQL2005新建數(shù)據(jù)庫T-SQL:
[python:collapse] +
expand sourceview
plaincopy
第二步 將高版本的表數(shù)據(jù)全部導(dǎo)入低版本數(shù)據(jù)庫中。
案例中SQL2008R2的表數(shù)據(jù),這里重新說明操作步驟,如下圖所示:
圖1
連接SQL2005目標(biāo)數(shù)據(jù)庫,并操作導(dǎo)入數(shù)據(jù)選項(xiàng)
圖2
選擇數(shù)據(jù)源
圖3
選擇目標(biāo)服務(wù)器
圖4
復(fù)制選項(xiàng)設(shè)定
圖5
選擇源表。這里全選,而不做對目標(biāo)表的設(shè)定。原因在的{注1}部分已說明。
圖6
數(shù)據(jù)導(dǎo)入完畢
第三步 將高版本的數(shù)據(jù)庫對象同步到低版本數(shù)據(jù)庫中。
打開OpenDBDiff或SQL-DBDiff,這里使用OpendbDiff,如下圖
圖7 打開OpenDBDiff,并選擇源和目標(biāo)庫
圖8 比較不同數(shù)據(jù)庫的對象,并生成Alter的T-SQL語句。相比里需要手動(dòng)修改Create為Alter語句,效率明顯提高。
{注:有時(shí)當(dāng)數(shù)據(jù)庫中已存在部分對象時(shí),我們需要注意Open DBDiff在給出Alter針對約束或者Create針對存儲(chǔ)過程語句時(shí),會(huì)有點(diǎn)問題,可能會(huì)需要手動(dòng)的微調(diào)}
此時(shí),我們點(diǎn)擊右側(cè)的剪貼板來copy語句,不建議用另存為的方式,否則可能會(huì)出現(xiàn)圖9中的因字符集問題,當(dāng)然目前我還不確定是OpenDBDiff本身造成的還是我OS的問題。
將貼出的T-SQL語句在SQL2005的目標(biāo)庫dnt2_dbNew中執(zhí)行。
圖9 中文另存為時(shí)發(fā)生字符集亂碼的問題
到此,三大步搞定數(shù)據(jù)庫降遷!呵呵,說我騙人,這怎么可能就三步呢。-_-!
執(zhí)行完畢后,再用OpenDBDiff檢查兩庫的對象差異,最后如圖10所示,都OK。
圖10 最后檢查OK
——>總結(jié):優(yōu)秀的DBA一定要有第三方工具,這句話不是我說的。不過OpenDBDiff只能同步對象是個(gè)缺憾!
Posted by: select left('claro',2) @12:56:33
lable: SQL
本文原創(chuàng)發(fā)布php中文網(wǎng),轉(zhuǎn)載請注明出處,感謝您的尊重!
總結(jié)
以上是生活随笔為你收集整理的mysql降低数据库版本_三步10分钟搞定数据库版本的降迁 (将后台数据库SQL2008R2降为SQ...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 科创板股票会退市吗?
- 下一篇: 股票小双底是什么意思?