使用TableDiff工具比对时的需要注意的问题

TableDiff GUI工具 SQL Server 2005提供了TableDiff命令行工具,这是这个工具的可视化版本。 立即下载

     SQLServer2005引入了TableDiff工具用来对比两个表之间的结构以及数据差异,在使用中可能遇到一些错误如下:

 

 

错误1.
原因:对比的源表没有主键的错误(在不使用-strict参数的情况下,目的表可以没有主键):
错误描述:The replication table difference tool requires the comparison tables/views to have either a primary key, identity, rowguid or unique key column.


错误2.
原因:对比的表的列数据类型不一致(如源表是varchar,目的表是int,但数据可以转换)
错误描述:如果不加-strict参数,下面的类型可以隐式转换,如果加了-strict参数,类型必须一致,否则错误一样

==============================================
源数据类型            目标数据类型 
---------------------------------------------- -
tinyint            smallint、int 或者 bigint
----------------------------------------------
smallint           int 或者 bigint
----------------------------------------------
int                   bigint
----------------------------------------------
timestamp              varbinary
----------------------------------------------
varchar(max)           text
----------------------------------------------
nvarchar(max)           ntext
----------------------------------------------
varbinary(max)          image
----------------------------------------------
text                   varchar(max)
----------------------------------------------
ntext                 nvarchar(max)
----------------------------------------------
image                varbinary(max)

==============================================

Table {dbname}.dbo.{tablename} on {sourceserver} and Table {dbname}.dbo.{tablename} on {destserver} have different schemas and cannot be compared.

 

 

错误3.
原因:对比的表包含sql_variant数据类型的列(不支持)
错误描述:Cannot compare the tables because they contain one or more columns of data type sql_variant. The tablediff utility does not support columns of this type.

 

 

以上只是其中一些问题,除了这些问题,还需要注意:

 

    tablediff 实用工具不能用于非 SQL Server 服务器。

 

另外在权限方面需要注意的是:

 

  

  若要比较表,您必须有要比较的表对象的 SELECT ALL 权限。

 

   若要使用 -et 选项,您必须是 db_owner 固定数据库角色的成员,或者在订阅数据库中至少有 CREATE TABLE 权限,并且对  目标服务器上的目标所有者架构拥有 ALTER 权限。

 

   若要使用 -dt 选项,您必须是 db_owner 固定数据库角色的成员,或者至少对目标服务器上的目标所有者架构拥有 ALTER 权限。

 

    若要使用 -o 选项,您必须对指定的文件目录位置拥有写入权限。

一个Windows界面的TableDiff表比较工具 一个Windows界面的TableDiff表比较工具,可比较表记录差异 立即下载

相关推荐

STM32F105双路CAN通讯无法进入接收中断问题及解决方法

STM32F105RBT6双路CAN通讯无法进入接收中断问题及解决方法

m0_62383223的博客 3442

oracle表结构比对工具,TabelDiff实用工具

1. tablediff是什么?tablediff 实用工具用于比较两个非收敛的表中的数据,它对于排除复制拓扑中的非收敛故障非常有用。 后来发现SSIS中的Lookup控件同样可以实现对表的比较,而且不限于tabel column一致的情况;具体实现可以参照另外一篇博文:http://zalman.blog.51cto.com/5251664/13964682. tablediff用哪些用法?1)...

weixin_42103128的博客 1168

LVGL在嵌入式Linux系统上的高效移植与优化实践

本文详细介绍了在嵌入式Linux系统(特别是ARM平台)上移植和优化LVGL图形库的完整实践流程。内容涵盖从开发环境搭建、代码获取、CMake工程配置,到关键配置文件定制、显示与输入设备端口移植,以及内存、渲染等核心性能优化技巧,旨在帮助开发者高效构建流畅的嵌入式UI应用。

weixin_29274969的博客 451

table diff 使用注意点 报错处理

优点:不影响主库使用。随便找个可以连接主库的服务器跑个进程。半小时几万条数据没问题。 缺点:产生的差异数据太大就不能使用了。占用带宽比较多。 优化:比较的时候不要2张表进行比较,需要建立视图进行比较,将所有的null转为空,tablediff认为null也是差异。所以主库里面必须要isnull(字段,'') as 字段。注意:主键跟索引不可以进行转换。 报错:1、错误:have differ...

weixin_30821731的博客 261

从业10年的AI应用架构师:企业AI平台运营的4个核心经验,值得收藏

去年年底,我在某大型制造企业做AI咨询时,遇到了这样的场景:这不是个例。我接触过的10家企业中,有7家的AI平台都陷入了“技术自嗨”的陷阱——技术团队追求模型精度、功能完备性,却忽略了业务到底需要什么。如果你也遇到过类似问题:比如“模型准确率很高,但业务不买账”“AI项目上线后没人用”“投入产出比极低”,那么这篇文章的4个经验,可能会帮你避开这些坑。很多企业认为,AI平台就是“买一套工具+部署几个模型”。但实际上,企业AI平台的本质是“技术与业务的连接生态”:根据Gartner的报告,80%的企业AI项目失

AI 原生应用开发的博客 709

解决rt-thread上使用SPI+DMA

首先阐述下遇到的问题 使用SPI读取icm20602数据,读取频率为1000hz,使用stm32f407主控,发现CPU占用率达到了70%,将此线程注释掉后CPU占用率掉到25%,看来这里要着重优化,便萌生了使用DMA的想法。 使用SPI+DMA要进行的配置 1.开启RTT设备驱动。点击自己的工程 ->RT-Thread Setting2.在board.hzhong3.在board.c文件里加入以下函数,此函数受设备框架调用 void HAL_SPI_MspInit(SPI_HandleTypeDef

响望的博客 8088

使用TableDiff实用工具解决事务复制中的问题

  事务复制是数据同步中常用的一种手段,复制过程难免会遇到不少问题,就笔者遇到的问题而言,一般有两大类:一类是通过重新启动Distributor Agent即可解决的问题,另一类是因为Subscriber修改了数据,导致发布的数据有冲突,这类问题一般需要手工去修复。TableDiff是SQL Server 2005的一个命令行实用工具,该工具可以比较两个表,并且生成数据同步的脚本。借助这个工具

.NET博文收藏 438

实战:RK3568 Android14 调试 MIPI DSI 液晶屏

LCD1_RST -> 对应原理图网络连接到 GPIO。LCD1_PWR_EN ->用于给屏幕 VCC 供电。LCD0_BL_EN / LCD0_BL_PWM -> MP3302 升压芯片驱动 LED 灯条。![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/100f2be7f763494da1032464e272e63b.png&pinctrl {/* 配置 LCD_RST 和 LCD_EN */

qq_33427070的博客 1549

tablediff工具实用

1. tablediff 是什么? tablediff 实用工具用于比较两个非收敛的表中的数据,它对于排除复制拓扑中的非收敛故障非常有用。  2. tablediff 用哪些用法? 1) . 在充当复制发布服务器的 Microsoft SQL Server 实例中的源表与充当复制订阅服务器的一个或多个 SQL Server 实例中的目标表之间进行逐行比较。 2) . 通过只比较行数和架构

萌萌的It人 www.itmmd.com 1549

C#实现自己的远程桌面控制工具

1. 创建一个winform工程并添加RDP客户端COM组件。右击工具箱,然后点击选择项,选中下图所示组件并点击确定。为窗口加载时添加自动连接远程桌面代码。3.调试运行程序,验证远程桌面控制。拖放RDP控件到窗口中。2.编写远程桌面连接代码。

6089

Ascend开发包Acllite安装

设置环境变量,配置程序编译依赖的头文件,库文件路径。“$HOME/Ascend”请替换“Ascend-cann-toolkit”包的实际安装路径。将YOLOV7原始模型转换为适配昇腾310处理器的离线模型(*.om文件),放在model路径下。运行完成后,会在样例工程的out目录下生成推理后的图片,显示对比结果如下所示。可以使用以下两种方式下载,请选择其中一种进行源码准备。请从以下链接获取该样例的输入图片,放在data目录下。执行以下命令,执行编译脚本,开始样例编译。执行运行脚本,开始样例运行。

如果想成为中心,那么就到中心去吧。 318

巧用TableDiff

SQLServer 自带的TableDiff是用来比较表数据差异,并生产相应的脚本的工具,使用简单,还能生产差异脚本, 是非常有用的东东,尤其是在做同步链数据修复时,是很理想的工具;但是,很多使用的过朋友都抱怨,TableDiff 效率太差,上百万级别的数据表使用起来慢如蜗牛,有没有方法能加快TableDiff的效率呢?      其实TableDiff在很多时候效率还是不错的,和很多其他

学无止境 946

AI大模型探索之路-训练篇3:大语言模型全景解读

大规模语言模型(Large Language Models,LLM),也称大语言模型或大型语言模型,是一种由包含数百亿以上参数的深度神经网络构建的语言模型,通常使用自监督学习方法通过大量无标注文本进行训练。

寻道AI,探索AI无限可能! 6278

Sqlserver tablediff的简单使用

1. 先列举一下自己简单的比较语句 tablediff -sourceserver 10.24.160.73 -sourcedatabase cwbasemi70 -sourceschema lcmi709999 -sourcetable gspuser -destinationserver 10.24.160.94 -destinationdatabase cwbasemi70 -dest...

weixin_30867015的博客 213

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

SQL Server工具TableDiff使用场景

1. 两个比较的表数据差异非常大:        这种情况效率差是肯定的,两个几百万的表,差异非常大,TableDiff光生产差异脚本都要很久时间,效率能        高得起来吗?          解决方法:如果是差异比较大的大表,最好的方法就是用BCP将目的端的表数据重建,TableDiff搞不定;      2. 两个比较的表中,存在不适宜比较的字段类型:        xm

爱上DBA... 1738

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

用批处理写的自动生成tablediff脚本的工具

工具的作用:通过交互式提问生成tablediff的执行命令,而且将命令执行后生成的同步数据脚本和日志放在指定的目录中。 工具的好处:可以将要通过tablediff比较的表放到广本文件tables.txt中。该批处理会遍历该文件中的每一行。会将每张表tablediff执行后生成和表名和目的机器名对就的.sql文件。要执行时,直接根据文件名就可以看出在什么订阅的机器上执行。   使用注意:每次执

PDZSPDZS的专栏 1042

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

巧用TableDiff(转)

SQLServer 自带的TableDiff是用来比较表数据差异,并生产相应的脚本的工具,使用简单,还能生产差异脚本, 是非常有用的东东,尤其是在做同步链数据修复时,是很理想的工具;但是,很多使用的过朋友都抱怨,TableDiff 效率太差,上百万级别的数据表使用起来慢如蜗牛,有没有方法能加快TableDiff的效率呢? 其实TableDiff在很多时候效率还是不错的,和很多其他工具一...

zping的博客 72

tablediff 实用工具 使用技巧

tablediff 实用工具 使用技巧 1 tablediff是什么?tablediff 实用工具用于比较两个非收敛的表中的数据,它对于排除复制拓扑中的非收敛故障非常有用。该工具小巧,SQL Server 2005免费提供的,非常有用! 2 tablediff有哪些用法?(1)在充当复制发布服务器的 Microsoft SQL Server 实例中的源表与充当复制订阅服务器的一个或...

weixin_30258901的博客 109

SQL SERVER tablediff比较表是否一致工具

1. tablediff 是什么? tablediff 实用工具用于比较两个非收敛的表中的数据,它对于排除复制拓扑中的非收敛故障非常有用。  2. tablediff 用哪些用法? 1) . 在充当复制发布服务器的 Microsoft SQL Server 实例中的源表与充当复制订阅服务器的一个或多个 SQL Server 实例中的目标表之间进行逐行比较。 2) . 通过只比较行数和架构可

1963

tableDiff的原理测试

看了一下tablediff的比较,网上有些文章说NULL不能比较,但是同步测试了SQL 2008 的功能,发现其实能够比较出NULL值的。运行tablediff命令:SQL Profiler 跟踪出以下sql: SELECT[dbo].[Tmp].[ID],BINARY_CHECKSUM([dbo].[Tmp].[Account],[dbo].[Tmp].[Cha...

weixin_34007879的博客 163

tablediff 实用工具/数据同步

-------------------- tablediff 实用工具 tablediff 实用工具用于比较两个非收敛的表中的数据,它对于排除复制拓扑中的非收敛故障非常有用。可以从命令提示符或在批处理文件中使用该实用工具执行以下任务:在充当复制发布服务器的 Microsoft SQL Server 实例中的源表与充当复制订阅服务器的一个或多个 SQL Server 实例上的目...

weixin_30563917的博客 114
上一篇: 不同SQL Server版本间的数据库恢复问题
下一篇: Microsoft SQL Service Broker External Activator
CN_SQL
博客等级 码龄18年 78粉丝 13原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值