2015-09-01 41 views
-1

我试图让2012年 在SQL Server 2008之间的复制我这样做,是在2008年之前与服务器和完美的作品SQL违反

现在,当我设置的出版物类型到快照,并将其作为从分发服务器推送到订阅服务器时出现错误

违反PRIMARY KEY约束'PK__tableF__4EBD61D204E4BC85'。不能在对象'dbo.table'中插入重复键。重复的键值是(0)。 (源:MSSQLServer,NÚMEROD'ERREUR:2627) Obtenir DE L'助手:http://help/2627

即使我只选择了一个表来复制我总是同样的问题,在创建数据库的模式,但表中没有数据 我试图重新放置表并且不起作用。 请问我能做些什么? 感谢

+0

您能编写出版物和文章,并将其粘贴到此处吗?想看看你有什么选择。 – Greg

+0

对不起,我不明白如何编写出版物的脚本? –

回答

0

我这个问题 始终是我试着写一个脚本,而不是使用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, 
@[email protected]_security_mode, 
@[email protected]_login, 
@[email protected]_password, 
@frequency_type = @frequency_type, 
@job_login = N'xxxx', 
@job_password = N'xxx'; 
GO 

当我执行我得到了一个警告“警告:经销代理的工作是隐式创建并将运行在SQL Server代理的服务帐户下。“

如果我检查订户,我发现该模式被复制,而不是在表中有一个418行,我有4012和表是空的,除非非空属性是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 

PS:我只选择了一个物品复制是表ClientEssai 出版发行是2008实例 用户2012 我做一推 和我使用的是同一个帐户为代理 是否有特定的配置要做? 谢谢