SQL Server 迁移过程经常会的出现,需要比对两个数据库之间,或者是表之间到底有何不同
SQL server 自带的tablediff Utility 是一个命令行的工具,对于偶尔需要做一次的体验相当不友好
https://msdn.microsoft.com/en-us/library/ms162843.aspx
假如仅仅是做表的对比,可以是讲数据源直接黏贴至Excel,适用Spreadsheet Compare 2013(Office 2013 中有这个工具)来进行对比
当然假如数据量较大,且又有多个表,就会比较麻烦。
介绍一个codeplex(这个网站其实就是微软的一些开源项目,且免费试用) 上的工具Open DBDiff 0.9。
http://opendbiff.codeplex.com/releases/view/72756
其实这个工具挺简单的,下载之后直接Zip解压缩就可以直接使用了。
基本上对象都可以同步了,但是数据的还是自己来按照表一个个同步。建议还查看下生成的语句进行修改后再做同步。
其中有几点需要注意,因为是图形化的工具,会存在误操作,且假如没有的适当的备份会较难恢复。
所以有几个建议。
假如是单人适用,直接将数据库设置为只读,当然干完活之后也要设置回来。
1 USE [master] 2 GO 3 ALTER DATABASE [AdventureWorks2012] SET READ_ONLY WITH NO_WAIT 4 GO 5 6 USE [master] 7 GO 8 ALTER DATABASE [AdventureWorks2012] SET READ_WRITE WITH NO_WAIT 9 GO
Microsoft SQL Server Community Projects & Samples
https://sqlserversamples.codeplex.com/