用tablediff产生sql server同步脚本--

用tablediff产生sql server同步脚本--

ID:21307341

大小:56.00 KB

页数:4页

时间:2018-10-21

用tablediff产生sql server同步脚本--_第1页
用tablediff产生sql server同步脚本--_第2页
用tablediff产生sql server同步脚本--_第3页
用tablediff产生sql server同步脚本--_第4页
资源描述:

《用tablediff产生sql server同步脚本--》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、用TableDiff产生SQLServer同步脚本>>  TableDiff是一个控制台,它可以在SQLServer的表之间进行数据比较。另外,因为它是用SQLServer打包的,所以如果你想在不同的数据库环境下检查查找表的话,你就不需要另外购买其他工具。  在不同的数据库环境中,DBA经常不得不在查找表中寻找它们的不同(例如:开发、质量保证和生产等不同的环境下)。这些查找表中的数据必须适应于所有的环境,这样才能确保测试的准确。  在市场上有一些非常好的工具可以进行这些比较,也能执行很多其它功能。但是现在你不需要去购买它们了,因为SQLServer已经自带了这种工具

2、,那就是TableDiff,它能为你完成这些功能。  TableDiff使你可以很轻松地在表中进行数据比较,同时它也可以会为你创建脚本来同步程序环境。另外,作为一个能使查找表在测试环境和产品环境之间同步的优秀工具,TableDiff对于数据在产品服务器和复制服务器之间的同步也同样是非常有用的,这样,当发生复制问题的时候,它就能体现出优势了。  示例  TabelDiff是一个控制台应用软件,所以,你需要通过命令提示符、批处理文件或者通过使用xp_cmdshell的SQLServer来调用它。在这个例子中,我将在同一个服务器上的两个数据库之间搭建一个小的环境,然后比较

3、两个表中的数据。在这里我是通过一个批处理文件来调用TableDiff。  ListingA中的脚本创建了两个数据库,并在每个数据库中创建了一个SourceTable表。然后将数据分别插入到每个环境中的SourceTable表里面,这时候,插入到两个表中的数据是明显不同的。(就我的SQLServer2005环境而言,TableDiff在这个目录下:C:ProgramFilesMicrosoftSQLServer。文件的位置对你指定安装是非常重要的,因为你调用批处理文件进行创建的时候需要知道它的确切位置。)usemasterGoIFDB_ID('Database

4、A')ISNOTNULL   DROPDATABASEDatabaseAGOIFDB_ID('DatabaseB')ISNOTNULL   DROPDATABASEDatabaseBGOCREATEDATABASEDatabaseAGOCREATEDATABASEDatabaseBGOUSEDatabaseAGOCREATETABLESourceTable(   IDColINTIDENTITY(1,1),   Field1SMALLINT,   Field2SMALLINT,   Field3SMALLINT,   Field4SMALLI

5、NT )GOUSEDatabaseBGOCREATETABLESourceTable(   IDColINTIDENTITY(1,1),   Field1SMALLINT,   Field2SMALLINT,   Field3SMALLINT,   Field4SMALLINT )GOUSEDatabaseAGOINSERTINTOSourceTable(Field1,Field2,Field3,Field4)SELECT1,1,1,2UNIONSELECT1,1,2,2UNIONSELECT1,3,2,2UNIONSELECT1,3,2,2UNIONSELECT4

6、,3,2,2GOUSEDatabaseBGOINSERTINTOSourceTable(Field1,Field2,Field3,Field4)SELECT1,1,1,2UNIONSELECT1,3,2,1UNIONSELECT1,3,2,2UNIONSELECT1,3,2,2UNIONSELECT5,3,2,2UNIONSELECT5,4,3,2GO  批处理文件  在这个例子中,我将调用TableDiffutility,同时带上了一些必要的参数,对DatabaseA和DatabaseB两个数据库中各自的SourceTable表的数据进行比较。ListingB中的

7、脚本带着参数通过源服务器(SourceServer)、源数据库(SourceDatabase)、源表SourceTable、目标服务器(DestinationServer)、目标数据库(DestinationDatabase)和目标表(DestinationTable)到达TableDiffutility。对于每一个站点来说,服务器名和表名都是相同的,因为我是在同一个数据库服务器的两个不同的数据库中比较使用的同一个名字的表。我通过的最后目的地是当地,同步脚本放置在那里。我将这个脚本存放在C:/根目录下,名字为diffs.txt。cdProgramFilesMic

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。