事务和快照同步时提示:当IDENTITY_INSERT设置为OFF时不能向表插入显示值。(源:MSSQLServer,错误码:544)

原因:在SQL2008同步时到SQL2008/SQL2005/SQL2014时有时由于发布配置不当(复制扩展属性=False)

当新增数据时同步会出现的错误:


解决方法1: 在发布服务器—选择发布项—属性(项目)—选中(表对象)—属性(复制扩展属性=True)如:图1所示,

然后重启SQL代理服务,启动快照快照(启动)如图:

解决方法2:在订阅端改表扩展属性:

解决方法3:

把订阅端标识列改为普通列(不推荐这种方法),也可解决同步。

时间: 2024-10-10 16:14:33

事务和快照同步时提示:当IDENTITY_INSERT设置为OFF时不能向表插入显示值。(源:MSSQLServer,错误码:544)的相关文章

当IDENTITY_INSERT设置为OFF时不能向表插入显示值。(源:MSSQLServer,错误码:544)

错误提示"事务和快照同步时提示:当IDENTITY_INSERT设置为OFF时不能向表插入显示值.(源:MSSQLServer,错误码:544)" 原因:在SQL2008同步时到SQL2008/SQL2005/SQL2014时有时由于发布配置不当(复制扩展属性=False) 当新增数据时同步会出现的错误: 解决方法1: 在发布服务器—选择发布项—属性(项目)—选中(表对象)—属性(复制扩展属性=True)如:图1所示, 然后重启SQL代理服务,启动快照快照(启动)如图: 解决方法2:在

当 IDENTITY_INSERT 设置为 OFF 时,不能为表‘XXX’中的标识列插入显式值。

在创建事务复制时,很多时候不一定使用快照进行初始化,而是使用备份还原初始化.当对有标识列(即identity的自增列)的表进行复制的时候,使用备份还原初始化搭建起来的复制常常就会报错,即:当 IDENTITY_INSERT 设置为 OFF 时,不能为表‘XXX’中的标识列插入显式值.这个错误是当创建表的时候,有一项’标识规范‘中的’不用于复制‘默认为‘否’,当发布端插入数据时导致,右键表,选择设计选项,如图 当使用备份还原进行初始化,订阅端的这张表该选项也是‘否’,因此就会报错.在不删除此复制的

当 IDENTITY_INSERT 设置为 OFF 时,不能为表中的标识列插入显式值

{"当 IDENTITY_INSERT 设置为 OFF 时,不能向表 'OrderList' 中的标识列插入显式值"} 对于这个异常可以从两个角度来处理:A:数据库执行语句  B:直接修改NHibernate中持久化类映射配置文件id节点 A数据库执行语句: 问题描述:当在数据库表主键设计为 (Orderid  int identity primary key),相对这个主键IDENTITY_INSERT默认设置为OFF,就是不能够显示插入主键id的值,例子如下: insert int

[解决方案] 当 IDENTITY_INSERT 设置为 OFF 时

当 IDENTITY_INSERT 设置为 OFF 时,不能为表 'tbUser' 中的标识列插入显式值. 解决:这个情况是你的表里面,有一列数据类型是IDENTITY的,也就是数据库自动递增列对于自动递增的列, 插入的时候, 不要把这一列加进去.例如:1> CREATE TABLE test_create_tab2 (2> id INT IDENTITY(1, 1) PRIMARY KEY,3> val VARCHAR(10)4> );5> go1> INSERT I

当 IDENTITY_INSERT 设置为 OFF 时,不能向表 '#TT' 中的标识列插入显式值。 sql server 临时表

当 IDENTITY_INSERT 设置为 OFF 时,不能向表 '#TT' 中的标识列插入显式值.我是在SqlServer写存储过程中遇到的这个错误,当时就心想:临时表怎么会有主键呢,我也没有设置主键.然后我就和同事一块调试,终于发现了.原因就是我把真实的数据表中id(其实就是主键)取出来放到临时表(#TT)中,一开始是以为把主键的属性取出来了.后来又一起调试,发现不是那么回事,1.原来SqlServer会自动给临时表设置主键,如果你要插入数据的话,还要打开主键,这样你才能插入数据.“当 ID

当 IDENTITY_INSERT 设置为 OFF 时,不能向表 'OrderList' 中的标识列插入显式值

问题描述:在SQL SERVER 2008中,向数据表中字段插入数据时,会报错,错误如下: 当 IDENTITY_INSERT 设置为 OFF 时,不能向表 'OrderList' 中的标识列插入显式值. 解决方案: 1 --允许将显式值插入表的标识列中 ON-允许 OFF-不允许 2 set identity_insert OrderList ON--打开3 4 insert into OrderList(id,ordername,createdate) 5 values(4520,'set'

当 IDENTITY_INSERT 设置为 OFF 时,不能为表 'T_Shell' 中的标识列插入显式值。

--允许将显示值插入表的标识列中-ON:允许 OFF:不允许set identity_insert T_shell ONset identity_insert T_Shell OFF 当 IDENTITY_INSERT 设置为 OFF 时,不能为表 'T_Shell' 中的标识列插入显式值.

当 IDENTITY_INSERT 设置为 OFF 时,不能为表 'tb_MyInvoices' 中的标识列插入显式值

默认情况下,IDENTITY_INSER就是off 这种情况下,你写insert 语句时,identity栏位,不要写值,系统会自动帮你写入. 举例说明: create table #aa(id int identity(1,1),dt datetime,pay int) go insert into #aa(dt,pay)values('2012-4-12',100) --不能向 id栏位写值,系统会自动写 go insert into #aa(id,dt,pay)values(100,'20

当 IDENTITY_INSERT 设置为 OFF 时,不能向表"*User" 中的标识列插入显示值

解决方法1: 找到该表自动增长的那一列,插入数据时不选择那一列 解决方法2: set IDENTITY_INSERT 表名on;-----设置on 再执行插入记录操作; set IDENTITY_INSERT 表名Off;------插入完毕后恢复为off 设置