Sql server 2008 SQL违反主键约束复制
我正在尝试在sql server 2008和2012之间进行复制 我以前在2008年和2008年之间做过这件事,服务器工作得非常好 现在,当我将发布类型设置为snapshot,并将其作为从分发服务器推送到订阅服务器时,我得到了一个错误 违反主键约束“PK_uutablef_uu4ebd61d204e4BC85”。无法在对象“dbo.table”中插入重复键。重复的键值为(0)。(来源:MSSQLServer,Numéro d'erreur:2627) 奥贝尼尔·德莱德: 即使我只选择了一个表进行复制,但我总是遇到同样的问题,即创建了数据库的模式,但表中没有数据 我试着给桌子上色,但它不起作用。 请问我能做什么?Sql server 2008 SQL违反主键约束复制,sql-server-2008,sql-server-2012,database-replication,Sql Server 2008,Sql Server 2012,Database Replication,我正在尝试在sql server 2008和2012之间进行复制 我以前在2008年和2008年之间做过这件事,服务器工作得非常好 现在,当我将发布类型设置为snapshot,并将其作为从分发服务器推送到订阅服务器时,我得到了一个错误 违反主键约束“PK_uutablef_uu4ebd61d204e4BC85”。无法在对象“dbo.table”中插入重复键。重复的键值为(0)。(来源:MSSQLServer,Numéro d'erreur:2627) 奥贝尼尔·德莱德: 即使我只选择了一个表进行
谢谢我一直都有这个问题 我试图写一个脚本,而不是使用wisard
DECLARE @publication AS sysname;
DECLARE @subscriber AS sysname;
DECLARE @subscriptionDB AS sysname;
DECLARE @frequency_type as int;
DECLARE @subscriber_security_mode as int;
DECLARE @subscriber_login AS sysname;
DECLARE @subscriber_password AS sysname;
SET @publication = N'8-9' ;
SET @subscriber =N'APPLI-SERV-EXT';
SET @subscriptionDB = N'89' ;
SET @subscriber_security_mode= 1;
SET @subscriber_login=N'xxx';
SET @subscriber_password=N'xxxx';
--Add a push subscription to a transactional publication.
USE [DBName]
EXEC sp_addsubscription
@publication = @publication,
@subscriber = @subscriber,
@destination_db = @subscriptionDB,
@subscription_type = N'push';
EXEC sp_addpushsubscription_agent
@publication = @publication,
@subscriber = @subscriber,
@subscriber_db = @subscriptionDB,
@subscriber_security_mode=@subscriber_security_mode,
@subscriber_login=@subscriber_login,
@subscriber_password=@subscriber_password,
@frequency_type = @frequency_type,
@job_login = N'xxxx',
@job_password = N'xxx';
GO
执行时,我收到一条警告:“警告:分发代理的工作是隐式创建的,将在SQLServer代理的服务帐户下运行。”
如果我检查订阅服务器,我发现模式被复制了,取而代之的是表中有418行,我有4012行,表是空的,除了NOTNULL属性是0
这是表的脚本
USE [test]
GO
/****** Object: Table [dbo].[clientEssai] Script Date: 15/09/2015 15:13:44 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[clientEssai](
[client_id] [int] NOT NULL,
[client_name] [varchar](255) NULL,
[contact_name] [varchar](255) NULL,
[tel] [varchar](255) NULL,
[gsm] [varchar](255) NULL,
[email] [varchar](255) NULL,
[adress] [varchar](255) NULL,
[registration_date] [date] NULL
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
附言:我只选择了一篇文章来复制,那就是ClientEssai表
发布者和分发者是2008实例
订户2012
我在推
我用的是同一个账户
是否有特定的配置要执行?
谢谢你能把出版物和文章写下来,粘贴到这里吗?希望查看您设置了哪些选项。抱歉,我不明白如何编写出版物的脚本?