超碰人人人人人,亚洲AV午夜福利精品一区二区,亚洲欧美综合区丁香五月1区,日韩欧美亚洲系列

LOGO OA教程 ERP教程 模切知識(shí)交流 PMS教程 CRM教程 開發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

三步10分鐘搞定數(shù)據(jù)庫(kù)版本的降遷(將后臺(tái)數(shù)據(jù)庫(kù)SQLServer2008R2降為SQL2005版本)

admin
2017年4月5日 10:9 本文熱度 10313

文三步搞定數(shù)據(jù)庫(kù)從MSSQL2008R2 高版本降遷至SQL2005低版本。 整個(gè)過程如果思路清晰,數(shù)據(jù)量小,不過就是10分鐘的事,效率提高很多。

這里需要利用一個(gè)免費(fèi)的數(shù)據(jù)庫(kù)對(duì)象同步工具,實(shí)際上整個(gè)操作過程中,這一步是最耗時(shí)低效,檢查發(fā)現(xiàn)用OpenDBDiffSQL-DBDiff可以高效解決這個(gè)問題。

首先,MSSQL2008R2有源數(shù)據(jù)庫(kù)dnt2_db ,需要轉(zhuǎn)到MSSQL2005目標(biāo)數(shù)據(jù)庫(kù)dnt2_dbNew中。

第一步 在低版本數(shù)據(jù)庫(kù)中新建目標(biāo)庫(kù)。

案例中SQL2005新建數(shù)據(jù)庫(kù)T-SQL:

[Python] view plain copy
  1. ----/****** Object:  Database [dnt2_dbNew]     ******/  
  2. CREATE DATABASE [dnt2_dbNew] ON  PRIMARY   
  3. ( NAME = N''dnt2_db'', FILENAME = N''D:/Program Files/bbs/bbs3.6/dnt2_db .mdf'' , SIZE = 15552KB , MAXSIZE = UNLIMITED, FILEGROWTH = 1024KB )  
  4.  LOG ON   
  5. ( NAME = N''dnt2_db _log'', FILENAME = N''D:/Program Files/bbs/bbs3.6/dnt2_db _log.ldf'' , SIZE = 530112KB , MAXSIZE = 2048GB , FILEGROWTH = 10%)  
  6. Go  
  7. EXEC dbo.sp_dbcmptlevel @dbname=N''dnt2_dbNew'', @new_cmptlevel=90  
  8. GO  
  9. IF (1 = FULLTEXTSERVICEPROPERTY(''IsFullTextInstalled''))  
  10. begin  
  11. EXEC [dnt2_dbNew].[dbo].[sp_fulltext_database] @action = ''enable''  
  12. end  
  13. GO  
  14. ALTER DATABASE [dnt2_dbNew] SET ANSI_NULL_DEFAULT OFF  
  15. GO  
  16. ALTER DATABASE [dnt2_dbNew] SET ANSI_NULLS OFF  
  17. GO  
  18. ALTER DATABASE [dnt2_dbNew] SET ANSI_PADDING OFF  
  19. GO  
  20. ALTER DATABASE [dnt2_dbNew] SET ANSI_WARNINGS OFF  
  21. GO  
  22. ALTER DATABASE [dnt2_dbNew] SET ARITHABORT OFF  
  23. GO  
  24. ALTER DATABASE [dnt2_dbNew] SET AUTO_CLOSE OFF  
  25. GO  
  26. ALTER DATABASE [dnt2_dbNew] SET AUTO_CREATE_STATISTICS ON  
  27. GO  
  28. ALTER DATABASE [dnt2_dbNew] SET AUTO_SHRINK OFF  
  29. GO  
  30. ALTER DATABASE [dnt2_dbNew] SET AUTO_UPDATE_STATISTICS ON  
  31. GO  
  32. ALTER DATABASE [dnt2_dbNew] SET CURSOR_CLOSE_ON_COMMIT OFF  
  33. GO  
  34. ALTER DATABASE [dnt2_dbNew] SET CURSOR_DEFAULT  GLOBAL  
  35. GO  
  36. ALTER DATABASE [dnt2_dbNew] SET CONCAT_NULL_YIELDS_NULL OFF  
  37. GO  
  38. ALTER DATABASE [dnt2_dbNew] SET NUMERIC_ROUNDABORT OFF  
  39. GO  
  40. ALTER DATABASE [dnt2_dbNew] SET QUOTED_IDENTIFIER OFF  
  41. GO  
  42. ALTER DATABASE [dnt2_dbNew] SET RECURSIVE_TRIGGERS OFF  
  43. GO  
  44. ALTER DATABASE [dnt2_dbNew] SET  DISABLE_BROKER  
  45. GO  
  46. ALTER DATABASE [dnt2_dbNew] SET AUTO_UPDATE_STATISTICS_ASYNC OFF  
  47. GO  
  48. ALTER DATABASE [dnt2_dbNew] SET DATE_CORRELATION_OPTIMIZATION OFF  
  49. GO  
  50. ALTER DATABASE [dnt2_dbNew] SET TRUSTWORTHY OFF  
  51. GO  
  52. ALTER DATABASE [dnt2_dbNew] SET ALLOW_SNAPSHOT_ISOLATION OFF  
  53. GO  
  54. ALTER DATABASE [dnt2_dbNew] SET PARAMETERIZATION SIMPLE  
  55. GO  
  56. ALTER DATABASE [dnt2_dbNew] SET READ_COMMITTED_SNAPSHOT OFF  
  57. GO  
  58. ALTER DATABASE [dnt2_dbNew] SET  READ_WRITE  
  59. GO  
  60. ALTER DATABASE [dnt2_dbNew] SET RECOVERY FULL  
  61. GO  
  62. ALTER DATABASE [dnt2_dbNew] SET  MULTI_USER  
  63. GO  
  64. ALTER DATABASE [dnt2_dbNew] SET PAGE_VERIFY CHECKSUM  
  65. GO  
  66. ALTER DATABASE [dnt2_dbNew] SET DB_CHAINING OFF  
  67. GO  

第二步 將高版本的表數(shù)據(jù)全部導(dǎo)入低版本數(shù)據(jù)庫(kù)中。

案例中SQL2008R2的表數(shù)據(jù),這里重新說明操作步驟,如下圖所示:

圖1

連接SQL2005目標(biāo)數(shù)據(jù)庫(kù),并操作導(dǎo)入數(shù)據(jù)選項(xiàng)

圖2

選擇數(shù)據(jù)源

圖3

選擇目標(biāo)服務(wù)器

圖4

復(fù)制選項(xiàng)設(shè)定

圖5

選擇源表。這里全選,而不做對(duì)目標(biāo)表的設(shè)定。原因在上一篇文章的{注1}部分已說明。

數(shù)據(jù)導(dǎo)入完畢

圖6

數(shù)據(jù)導(dǎo)入完畢

第三步 將高版本的數(shù)據(jù)庫(kù)對(duì)象同步到低版本數(shù)據(jù)庫(kù)中。

打開OpenDBDiffSQL-DBDiff,這里使用OpendbDiff,如下圖

opendbdiff1

圖7 打開OpenDBDiff,并選擇源和目標(biāo)庫(kù)

 

比較對(duì)象

圖8 比較不同數(shù)據(jù)庫(kù)的對(duì)象,并生成Alter的T-SQL語(yǔ)句。相比上一篇文章里需要手動(dòng)修改Create為Alter語(yǔ)句,效率明顯提高。

{注:有時(shí)當(dāng)數(shù)據(jù)庫(kù)中已存在部分對(duì)象時(shí),我們需要注意Open DBDiff在給出Alter針對(duì)約束或者Create針對(duì)存儲(chǔ)過程語(yǔ)句時(shí),會(huì)有點(diǎn)問題,可能會(huì)需要手動(dòng)的微調(diào)}

此時(shí),我們點(diǎn)擊右側(cè)的剪貼板來copy語(yǔ)句,不建議用另存為的方式,否則可能會(huì)出現(xiàn)圖9中的因字符集問題,當(dāng)然目前我還不確定是OpenDBDiff本身造成的還是我OS的問題。

將貼出的T-SQL語(yǔ)句在SQL2005的目標(biāo)庫(kù)dnt2_dbNew中執(zhí)行。

顯示亂碼

圖9 中文另存為時(shí)發(fā)生字符集亂碼的問題

到此,三大步搞定數(shù)據(jù)庫(kù)降遷!呵呵,說我騙人,這怎么可能就三步呢。-_-!

執(zhí)行完畢后,再用OpenDBDiff檢查兩庫(kù)的對(duì)象差異,最后如圖10所示,都OK。

檢查OK

圖10 最后檢查OK

——>總結(jié):優(yōu)秀的DBA一定要有第三方工具,這句話不是我說的。不過OpenDBDiff只能同步對(duì)象是個(gè)缺憾!


該文章在 2017/4/5 10:09:48 編輯過
關(guān)鍵字查詢
相關(guān)文章
正在查詢...
點(diǎn)晴ERP是一款針對(duì)中小制造業(yè)的專業(yè)生產(chǎn)管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國(guó)內(nèi)大量中小企業(yè)的青睞。
點(diǎn)晴PMS碼頭管理系統(tǒng)主要針對(duì)港口碼頭集裝箱與散貨日常運(yùn)作、調(diào)度、堆場(chǎng)、車隊(duì)、財(cái)務(wù)費(fèi)用、相關(guān)報(bào)表等業(yè)務(wù)管理,結(jié)合碼頭的業(yè)務(wù)特點(diǎn),圍繞調(diào)度、堆場(chǎng)作業(yè)而開發(fā)的。集技術(shù)的先進(jìn)性、管理的有效性于一體,是物流碼頭及其他港口類企業(yè)的高效ERP管理信息系統(tǒng)。
點(diǎn)晴WMS倉(cāng)儲(chǔ)管理系統(tǒng)提供了貨物產(chǎn)品管理,銷售管理,采購(gòu)管理,倉(cāng)儲(chǔ)管理,倉(cāng)庫(kù)管理,保質(zhì)期管理,貨位管理,庫(kù)位管理,生產(chǎn)管理,WMS管理系統(tǒng),標(biāo)簽打印,條形碼,二維碼管理,批號(hào)管理軟件。
點(diǎn)晴免費(fèi)OA是一款軟件和通用服務(wù)都免費(fèi),不限功能、不限時(shí)間、不限用戶的免費(fèi)OA協(xié)同辦公管理系統(tǒng)。
Copyright 2010-2025 ClickSun All Rights Reserved