tableDiff的用法

 
USE tempdb
GO

--创建测试表
CREATE TABLE Tmp
(
 ID int PRIMARY KEY,
 Account varchar(32),
 CharName varchar(32)
)
GO

--插入测试数据
INSERT Tmp
SELECT 1,'account1','CharName1'
UNION ALL SELECT 2,'account2','CharName1'
UNION ALL SELECT 3,'account3','CharName1'
GO

--创建Check表
CREATE TABLE Tmp_Check
(
 ID int PRIMARY KEY,
 Account varchar(32),
 CharName varchar(32)
)
GO
INSERT Tmp_Check
SELECT 1,'account11','CharName11'


--用TableDiff比对
EXEC xp_cmdshell 'tablediff -sourceserver "localhost" -sourcedatabase "tempdb" -sourceschema "dbo" -sourcetable "Tmp" -sourceuser "sa" -sourcepassword "pwd" -destinationserver "localhost" -destinationdatabase "tempdb" -destinationschema "dbo" -destinationtable "Tmp_Check" -destinationuser "sa" -destinationpassword "pwd" -f "c:\Test.sql"'
GO

--读取Test.sql
DECLARE @tmp Tmp(SqlStr varchar(max))
INSERT @tmp
exec xp_cmdshell'type c:\test.sql'
SELECT 
 SqlStr 
FROM @tmp
WHERE SqlStr is not null and CHARINDEX('--',sqlstr) = 0
 
--删除测试表和文件
DROP TABLE Tmp
DROP TABLE Tmp_Check
EXEC xp_cmdshell 'del c:\Test.sql'
GO

 


 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值