Quantcast
Channel: SQL Server Replication forum
Viewing all 4054 articles
Browse latest View live

Error in Merge replication

0
0

We are getting the below errors I am not sure how to trouble shoot in merge replication

Error messages:

  • The merge process could not enumerate changes at the 'Publisher'. When troubleshooting, restart the synchronization with verbose history logging and specify an output file to which to write. (Source: MSSQL_REPL, Error number: MSSQL_REPL-2147200999)
    Get help: http://help/MSSQL_REPL-2147200999
  • Client unable to establish connection because an error was encountered during handshakes before login. Common causes include client attempting to connect to an unsupported version of SQL Server, server too busy to accept new connections or a resource limitation (memory or maximum allowed connections) on the server. (Source: MSSQLServer, Error number: 26)
    Get help: http://help/26
  • Client unable to establish connection (Source: MSSQLServer, Error number: 26)
    Get help: http://help/26
  • TCP Provider: The specified network name is no longer available. (Source: MSSQLServer, Error number: 64)
    Get help: http://help/64
  • Client unable to establish connection due to prelogin failure (Source: MSSQLServer, Error number: 64)
    Get help: http://help/64
  • Unspecified error (Source: MSSQLServer, Error number: 64)
    Get help: http://help/64
  • The process was successfully stopped. (Source: MSSQL_REPL, Error number: MSSQL_REPL-2147200995)
    Get help: http://help/MSSQL_REPL-2147200995

Replies are appreciated in solving the issue

Thanks


Replicating Full Text Index (Publisher: SQL Server 2008R2 Standard)

0
0

Hi ,
I have recently upgraded our Database server from 2005 Standard to 2008 R2 Standard.

I am having a problem while replicating Full Text Index in New Infrastructure.

Full text Index was working fine in old infrastructure.

Replication scenario for Old infrastructure

Publisher: SQL Server 2005 Standard
Distributer: SQL Server 2005 Standard
Subscriber: SQL Server 2005 Express with Advance Services

Replication scenario for New Infrastructure

Publisher: SQL Server 2008R2 Standard
Distributor: SQL Server 2008R2 Standard
Subscriber: SQL Server 2005 Express with Advance Services/ SQL Server 2008R2 Standard

Whenever I try to replicate Full text Index by selecting  "Copy Full Text Indexes"= "True" article property in Replication and create snapshot it will automatically set to"Copy Full Text Indexes"= "False" whenever I reopened publication properties or snapshot is created.

My questions are

  1. Is SQL Server 2008 R2 Supports full text Index replication to SQL Server 2005.
  2. Do I missed some settings while setting up publication for Full Text Index.

Multiple Remote Distributor

0
0
is it possible to configure on publisher more than one remote sql distributor server?

Non Clusterd Index are not sync to the subscriber

0
0

Hi,

Could you please tell me If I enable the Non - Clustered Index option set to 'TRUE' at publisher does it affect anything?

Does the Non clustered Indexes are automatically transfer to the subscriber database?

Please let me if it affects database performance when I enable this option!

Cheers! 

SQL Developper 2012 - SP2 - CU7 - WAN merge replication not working

0
0

Hey,

Following my previous inquiry, just for testing purposes I ended up simplifying my replication test environment to just a publisher on one side of a 50 Mbps WAN and a subscriber on the other side.

The merge agent is set to run on a schedule from the subscriber since it is a pull subscription. The tables are the only article in the publication and the identities of the tables are manually managed with a 10 increment and a seed of 1 for the publisher and 3 for the subscriber. The publication does nothing if tables are already present at destination at initialization.

----

Pushing the initial snapshot goes fine.

If I use the application on the subscriber's side, the replication works but at a rate between 2 and 10 rows per seconds. With higher threading on source and destination of the merge agent I can get double that speed. So data is uploading fine but very slowly.

If I use the application on the publisher's side, the merge agent fails on a deadlock if it is running more than 1 thread. The more thread, the faster it deadlocks. And the deadlocks are from the merge agent and not due to other process running.

Here is the deadlock info:

Deadlock graph					<deadlock-list><deadlock victim="process67f01d498"><process-list><process id="process67f01d498" taskpriority="0" logused="9772" waitresource="KEY: 11:72057594040483840 (a70899768258)" waittime="117" ownerId="5597733" transactionname="user_transaction" lasttranstarted="2015-08-07T19:32:51.370" XDES="0x67884ad28" lockMode="U" schedulerid="2" kpid="4420" status="suspended" spid="157" sbid="0" ecid="0" priority="0" trancount="2" lastbatchstarted="2015-08-07T19:32:51.387" lastbatchcompleted="2015-08-07T19:32:51.383" lastattention="1900-01-01T00:00:00.383" clientapp="Replication Merge Agent" hostname="DT-SVT-SQL-01" hostpid="5256" loginname="INSTREAM\oragain" isolationlevel="read committed (2)" xactid="5597733" currentdb="11" lockTimeout="4294967295" clientoption1="673253472" clientoption2="128056"><executionStack><frame procname="iTRANS.dbo.MSmerge_upd_sp_219F6C7A81E34933198189FCFFED442F" line="637" stmtstart="36758" stmtend="40220" sqlhandle="0x03000b00fc7f6c7667023a01eda4000001000000000000000000000000000000000000000000000000000000">
update [dbo].[msg] set

            [ref_to_msg_id] = case when @p2 is NULL then (case when sys.fn_IsBitSetInBitmask(@setbm, 2) &lt;&gt; 0 then @p2 else t.[ref_to_msg_id] end) else @p2 end
,

            [msg_from] = case when @p6 is NULL then (case when sys.fn_IsBitSetInBitmask(@setbm, 6) &lt;&gt; 0 then @p6 else t.[msg_from] end) else @p6 end
,

            [msg_to] = case when @p7 is NULL then (case when sys.fn_IsBitSetInBitmask(@setbm, 7) &lt;&gt; 0 then @p7 else t.[msg_to] end) else @p7 end
,

            [tx_style] = case when @p11 is NULL then (case when sys.fn_IsBitSetInBitmask(@setbm, 11) &lt;&gt; 0 then @p11 else t.[tx_style] end) else @p11 end
,

            [tx_type] = case when @p12 is NULL then (case when sys.fn_IsBitSetInBitmask(@setbm, 12) &lt;&gt; 0 then @p12 else t.[tx_type] end) else @p12 end
,

            [tx_version] = case when @p13 is NULL then (case when sys.fn_IsBitSetInBitmask(@setbm, 13) &lt;&gt; 0 then @p13 else t.[tx_version] end) else @p13 end
,

            [translation_tag] = case when     </frame></executionStack><inputbuf>
Proc [Database Id = 11 Object Id = 1986822140]    </inputbuf></process><process id="process67f035498" taskpriority="0" logused="15640" waitresource="KEY: 11:72057594040483840 (bbd163ce615e)" waittime="115" ownerId="5597747" transactionname="user_transaction" lasttranstarted="2015-08-07T19:32:51.370" XDES="0x6756b0d28" lockMode="U" schedulerid="5" kpid="3344" status="suspended" spid="114" sbid="0" ecid="0" priority="0" trancount="2" lastbatchstarted="2015-08-07T19:32:51.447" lastbatchcompleted="2015-08-07T19:32:51.447" lastattention="1900-01-01T00:00:00.447" clientapp="Replication Merge Agent" hostname="DT-SVT-SQL-01" hostpid="5256" loginname="INSTREAM\oragain" isolationlevel="read committed (2)" xactid="5597747" currentdb="11" lockTimeout="4294967295" clientoption1="673253472" clientoption2="128056"><executionStack><frame procname="iTRANS.dbo.MSmerge_upd_sp_219F6C7A81E34933198189FCFFED442F" line="170" stmtstart="7396" stmtend="8228" sqlhandle="0x03000b00fc7f6c7667023a01eda4000001000000000000000000000000000000000000000000000000000000">
update [dbo].[msg] set [ebxml] = @p14
                from [dbo].[msg] t
                where t.[rowguid] = @rowguid and
                      exists (select 1 from dbo.MSmerge_contents c with (rowlock)
                                where c.rowguid = @rowguid and
                                      c.tablenick = 9868018 and
                                      c.lineage = @lineage_old)     </frame></executionStack><inputbuf>
Proc [Database Id = 11 Object Id = 1986822140]    </inputbuf></process></process-list><resource-list><keylock hobtid="72057594040483840" dbid="11" objectname="iTRANS.dbo.msg" indexname="PK_msg" id="lock637059f00" mode="X" associatedObjectId="72057594040483840"><owner-list><owner id="process67f035498" mode="X"/></owner-list><waiter-list><waiter id="process67f01d498" mode="U" requestType="wait"/></waiter-list></keylock><keylock hobtid="72057594040483840" dbid="11" objectname="iTRANS.dbo.msg" indexname="PK_msg" id="lock638d81680" mode="X" associatedObjectId="72057594040483840"><owner-list><owner id="process67f01d498" mode="X"/></owner-list><waiter-list><waiter id="process67f035498" mode="U" requestType="wait"/></waiter-list></keylock></resource-list></deadlock></deadlock-list>
					sa			34	2015-08-07 19:32:51.567				


The second deadlock happening also for that merge agent run:

Deadlock graph					<deadlock-list><deadlock victim="process67f044cf8"><process-list><process id="process67f044cf8" taskpriority="0" logused="10724" waitresource="KEY: 11:72057594040483840 (42c4334389b5)" waittime="819" ownerId="5620038" transactionname="user_transaction" lasttranstarted="2015-08-07T19:33:33.030" XDES="0x67884a3a8" lockMode="U" schedulerid="7" kpid="2040" status="suspended" spid="158" sbid="0" ecid="0" priority="0" trancount="2" lastbatchstarted="2015-08-07T19:33:33.190" lastbatchcompleted="2015-08-07T19:33:33.190" lastattention="1900-01-01T00:00:00.190" clientapp="Replication Merge Agent" hostname="DT-SVT-SQL-01" hostpid="5256" loginname="INSTREAM\oragain" isolationlevel="read committed (2)" xactid="5620038" currentdb="11" lockTimeout="4294967295" clientoption1="673253472" clientoption2="128056"><executionStack><frame procname="iTRANS.dbo.MSmerge_upd_sp_219F6C7A81E34933198189FCFFED442F" line="218" stmtstart="10564" stmtend="11400" sqlhandle="0x03000b00fc7f6c7667023a01eda4000001000000000000000000000000000000000000000000000000000000">
update [dbo].[msg] set [payload] = @p15
                from [dbo].[msg] t
                where t.[rowguid] = @rowguid and
                      exists (select 1 from dbo.MSmerge_contents c with (rowlock)
                                where c.rowguid = @rowguid and
                                      c.tablenick = 9868018 and
                                      c.lineage = @lineage_old)     </frame></executionStack><inputbuf>
Proc [Database Id = 11 Object Id = 1986822140]    </inputbuf></process><process id="process67f035498" taskpriority="0" logused="15928" waitresource="KEY: 11:72057594040483840 (bbd163ce615e)" waittime="930" ownerId="5620125" transactionname="user_transaction" lasttranstarted="2015-08-07T19:33:33.127" XDES="0x6756b03a8" lockMode="U" schedulerid="5" kpid="3344" status="suspended" spid="157" sbid="0" ecid="0" priority="0" trancount="2" lastbatchstarted="2015-08-07T19:33:33.190" lastbatchcompleted="2015-08-07T19:33:33.187" lastattention="1900-01-01T00:00:00.187" clientapp="Replication Merge Agent" hostname="DT-SVT-SQL-01" hostpid="5256" loginname="INSTREAM\oragain" isolationlevel="read committed (2)" xactid="5620125" currentdb="11" lockTimeout="4294967295" clientoption1="673253472" clientoption2="128056"><executionStack><frame procname="iTRANS.dbo.MSmerge_upd_sp_219F6C7A81E34933198189FCFFED442F" line="170" stmtstart="7396" stmtend="8228" sqlhandle="0x03000b00fc7f6c7667023a01eda4000001000000000000000000000000000000000000000000000000000000">
update [dbo].[msg] set [ebxml] = @p14
                from [dbo].[msg] t
                where t.[rowguid] = @rowguid and
                      exists (select 1 from dbo.MSmerge_contents c with (rowlock)
                                where c.rowguid = @rowguid and
                                      c.tablenick = 9868018 and
                                      c.lineage = @lineage_old)     </frame></executionStack><inputbuf>
Proc [Database Id = 11 Object Id = 1986822140]    </inputbuf></process></process-list><resource-list><keylock hobtid="72057594040483840" dbid="11" objectname="iTRANS.dbo.msg" indexname="PK_msg" id="lock65cbfc880" mode="X" associatedObjectId="72057594040483840"><owner-list><owner id="process67f035498" mode="X"/></owner-list><waiter-list><waiter id="process67f044cf8" mode="U" requestType="wait"/></waiter-list></keylock><keylock hobtid="72057594040483840" dbid="11" objectname="iTRANS.dbo.msg" indexname="PK_msg" id="lock63a46f700" mode="X" associatedObjectId="72057594040483840"><owner-list><owner id="process67f044cf8" mode="X"/></owner-list><waiter-list><waiter id="process67f035498" mode="U" requestType="wait"/></waiter-list></keylock></resource-list></deadlock></deadlock-list>
					sa			26	2015-08-07 19:33:34.120				

Question is:

* What am I doing wrong ?

* How can I fix it ?

Regards,

Olivier

Note: Production environment is standard SQL server. So no Enterprise solution :) Thanks

Replication Scripts Stopped Working..

0
0

I have a merge publication that I always create with a script but has now stopped working with what appears to be a complete server problem.

 

The actual command i am executing is a simple

sp_addpublication_snapshot

 

but it fails with

 

Msg 50000, Level 16, State 1, Procedure sp_add_jobstep_internal, Line 253

The current transaction cannot be committed and cannot support operations that write to the log file. Roll back the transaction.

Msg 3931, Level 16, State 1, Procedure sp_MSadd_repl_job_unsafe, Line 376

The current transaction cannot be committed and cannot be rolled back to a savepoint. Roll back the entire transaction.

 

 

I have tried recreating the database from scratch, renaming it, renaming the publication, even disabling the publications altogether but it makes no difference. There is nothing in the sql or event logs and I cant do any work until Ive got past it - help!

 

I am using SQL 2005 SP2 if that makes any difference.

 

Thanks

Andy

Transactional Replication Stops working

0
0

Hi There,

I have main server (DELL Power Edge T320) with SQL 2012 installed. Configured transactional replication, created three distributions with multiple articles (around 3-4 articles in each dist.). Subscribed 3 remote servers connected via VPN.  All works fine but suddenly replication stops working. Checked everything, recreated distributions twice, ensured connection several time but failed to detect the problem. One thing that I have noted and seems abnormal that server time automatically changes from AM to PM due to unknown reason.  Just wanted to ask, is there any impact of changing the time with replication or there might be something else that I am missing?

Quick response will be highly appreciated.

SQL Replication - how to have no locking during resnap for distributor upgrade

0
0

We are looking into upgrading our SQL 2008 remote distributor to SQL 2014. Our publication tables have heavy selects on them.  Every time we have to resnap we have to shut down the apps so that replication can finish.  Our sync_method is 3 in the syspublications table (Concurrent, which means that native-mode BCP is used but tables are not locked during the snapshot).  For our upgrade, we need to have no downtime since replication is critical to our environment.  One option we have is to create a new SQL 2014 distributor and slowly move over our publications.  However, we are concerned that we will be taking outages due to replication resnapshots needed when we recreate the publication that are blocked and block other connections.  Is there any way to achieve what we want to do? 


Error while configuring SQL 2012 DB as a Subscriber to a Oracle Publisher.

0
0

When Configuring the Subscription for Oracle as a publisher, we receive the following error message.

Msg 18757, Level 16, State 4, Procedure sp_replpostcmd, Line 1
Unable to execute procedure. The database is not published. Execute the procedure in a database that is published for replication.
The Subscriber was dropped.

"

Same message is received if add the subscription through script or through SQL Management studio.


However Oracle as a publisher has been configured successfully on a SQL 2012 DB server, Which is also the  Distribution server

using the following links. 

https://msdn.microsoft.com/en-us/library/ms151243(v=sql.110).aspx

https://msdn.microsoft.com/en-us/library/ms152481(v=sql.110).aspx

Note: Same Steps successfully work from a SQL 2008 Machine. i.e If i use SQL 2008 machine to configure Oracle as a Publisher and then subscribe to SQL 2012 machine as Subscriber.

Is there a known issue? or some extra steps for 2012 that are not documented. Any help will be much appreciated.

Client Oracle Version:9i

Subscriber DB Version: SQL Server 2012 SP2


Thanks and Regards, Ibrahim Mehdi. MCSE-DataPlatform

SQL Server 2012 Std - Merge Replication - Deadlocks

0
0

Hi,

I have a merge replication between 2 SQL serve r2012 std sp2. The merge agent keeps getting deadlocked and killed. It seems that procedures fired by triggers and sp_msmakegeneration are locking each other out. What can be done to fix this ?

An example:

Deadlock graph					<deadlock-list><deadlock victim="process1f0284cf8"><process-list><process id="process1f0284cf8" taskpriority="5" logused="368936" waitresource="KEY: 15:72057594074824704 (8b2843006660)" waittime="885" ownerId="24546267" transactionname="user_transaction" lasttranstarted="2015-08-11T12:24:18.290" XDES="0x1fd2a23a8" lockMode="U" schedulerid="4" kpid="4616" status="suspended" spid="123" sbid="0" ecid="0" priority="-5" trancount="2" lastbatchstarted="2015-08-11T12:24:16.763" lastbatchcompleted="2015-08-11T12:24:16.757" lastattention="1900-01-01T00:00:00.757" clientapp="Replication Merge Agent" hostname="DT-SVT-SQL-02" hostpid="5092" loginname="INSTREAM\sqlrepltest" isolationlevel="read committed (2)" xactid="24546267" currentdb="15" lockTimeout="4294967295" clientoption1="673384544" clientoption2="128024"><executionStack><frame procname="mssqlsystemresource.sys.sp_MSmakegeneration" line="337" stmtstart="29568" stmtend="29880" sqlhandle="0x0300ff7fa885d0f933812f012ba3000001000000000000000000000000000000000000000000000000000000">
update dbo.MSmerge_contents with (rowlock) set generation = @target_gen
                where generation = @gen and tablenick = @art_nick     </frame></executionStack><inputbuf>
Proc [Database Id = 32767 Object Id = -103774808]    </inputbuf></process><process id="process279bb9c38" taskpriority="0" logused="11788" waitresource="KEY: 15:72057594074890240 (4d59435678e9)" waittime="2910" ownerId="24547029" transactionname="tx_tran" lasttranstarted="2015-08-11T12:24:18.703" XDES="0x1f7e176a8" lockMode="X" schedulerid="4" kpid="3600" status="suspended" spid="122" sbid="0" ecid="0" priority="0" trancount="2" lastbatchstarted="2015-08-11T12:24:18.630" lastbatchcompleted="2015-08-11T12:24:18.630" lastattention="1900-01-01T00:00:00.630" clientapp=".Net SqlClient Data Provider" hostname="DT-SVT-TRA-02" hostpid="50156" loginname="INSTREAM\svctestprovregi" isolationlevel="read committed (2)" xactid="24547029" currentdb="15" lockTimeout="4294967295" clientoption1="673316896" clientoption2="128024"><executionStack><frame procname="iTRANS.dbo.MSmerge_upd_A8EC7E7BF7E44623A7AF6C3061D10DB1" line="65" stmtstart="4694" stmtend="5756" sqlhandle="0x03000f00362460098f0ebb00f1a4000000000000000000000000000000000000000000000000000000000000">
update [dbo].[MSmerge_ctsv_A8EC7E7BF7E44623A7AF6C3061D10DB1] with (rowlock)
			set lineage = { fn UPDATELINEAGE(lineage, @replnick, @oldmaxversion+1) },
				generation = @newgen,
				partchangegen = case when (@partchange = 1 or @joinchange = 1) then @newgen else partchangegen end,

					colv1 = NULL
			FROM inserted as I JOIN [dbo].[MSmerge_ctsv_A8EC7E7BF7E44623A7AF6C3061D10DB1] as V with (rowlock)
			ON (I.rowguidcol=V.rowguid)
			and V.tablenick = @tablenick
			option (force order, loop join)     </frame><frame procname="iTRANS.dbo.s_msg_conv_process_host_tx" line="138" stmtstart="14682" stmtend="16412" sqlhandle="0x03000f0096d4167fcc43a100f1a4000001000000000000000000000000000000000000000000000000000000">
update msg_conversation set
			host_tx_msg_id = @tx_msg_id,
			host_tx_style = @tx_tx_style,
			host_tx_version = @tx_tx_version,
			host_tx_type = @tx_tx_type,
			host_tx_msg_status = 4,						--msg_status 4 = Acknowledged
			host_tx_dt = getUTCDate(),
			host_tx_msg_count = isnull(host_tx_msg_count, 0) + 1,
			host_tx_reference = @host_tx_reference,
			host_router_ack_msg_id = @ack_msg_id,
			host_router_ack_msg_count = isnull(host_router_ack_msg_count, 0) + 1,
			host_router_ack_dt = getUTCDate(),
			host_router_client_tx_msg_id = @tx_msg_id,			-- NOTE!!! only diff from update above, is this line.
			host_router_client_tx_dt = getUTCDate(),
			client_outcome_id = @client_outcome_id,
			host_outcome_id = @host_outcome_id,
			last_event_id= @last_event_id,
			last_event_dt = getUTCDate()
			where
			msg_conv_id = @msg_conv_id     </frame></executionStack><inputbuf>
Proc [Database Id = 15 Object Id = 2132202646]    </inputbuf></process></process-list><resource-list><keylock hobtid="72057594074824704" dbid="15" objectname="iTRANS.dbo.MSmerge_contents" indexname="uc1SycContents" id="lock23cd21900" mode="X" associatedObjectId="72057594074824704"><owner-list><owner id="process279bb9c38" mode="X"/></owner-list><waiter-list><waiter id="process1f0284cf8" mode="U" requestType="wait"/></waiter-list></keylock><keylock hobtid="72057594074890240" dbid="15" objectname="iTRANS.dbo.MSmerge_contents" indexname="nc2MSmerge_contents" id="lock2139a4a80" mode="U" associatedObjectId="72057594074890240"><owner-list><owner id="process1f0284cf8" mode="U"/></owner-list><waiter-list><waiter id="process279bb9c38" mode="X" requestType="wait"/></waiter-list></keylock></resource-list></deadlock></deadlock-list>
					sa			25	2015-08-11 12:24:21.733

Regards,

Olivier

Find Undistributed commands for particular subscription

0
0

I am trying to figure out to get three column values as follows. i tried long queries but it give so much information which i might not need.

publication name, publication database, undistributed commands(pending commands), timewilltake 

Thanks.

SQL Sever Replication

0
0

Dear All,

We have 3 Servers with same Database.

Server 1(SQL Servr 2014) is a Distributor and configured both Server 1 and Server 2 as Publishers.

Server 2 (SQL Server 2008R2) is now acts a publisher and Server 1 is a Subscriber with Transactional Replication.

We are now using the same Server 1 Subscriber to publish the same Database to Server 3(SQL Server 2008R2) Subscriber for Merge and Transactional Replication.

We are encountered with following Errors 

TITLE: New Publication Wizard
------------------------------

SQL Server could not create publication 'Merge_DB'.

------------------------------
ADDITIONAL INFORMATION:

An exception occurred while executing a Transact-SQL statement or batch. (Microsoft.SqlServer.ConnectionInfo)

------------------------------

Invalid object name 'dbo.sysmergepublications'.
Publication 'Merge_DB' does not exist.
Changed database context to 'DatabaseName'. (Microsoft SQL Server, Error: 208)

TITLE: New Publication Wizard
------------------------------

SQL Server could not create publication 'Trans_DB'.

------------------------------
ADDITIONAL INFORMATION:

An exception occurred while executing a Transact-SQL statement or batch. (Microsoft.SqlServer.ConnectionInfo)

------------------------------

This database is not enabled for publication.
Changed database context to 'DatabaseName'. (Microsoft SQL Server, Error: 14013)

Please help us in resolving the issue.

Thanks in Advance

Arun

Publish database on subscriber.

0
0

Hi!

I have database (DB) on the server SQL1. This database (DB) is published on SQL1 server for SQL2 server. 

So, SQL1 is publisher and SQL2 is subscriber for (DB). Can I publish database (DB) on the server SQL2 for the server SQL3?

I would like to implement this scheme of Publication/Subscription:<o:p></o:p>

SQL1 -> SQL2 ->SQL3

I know, that it is simpler just to publish DB for SQL2 and SQL3 from SQL1, but, because of network connectivity, I can't do that...




Transactional Replication Issue - Same table from multiple databases publishing to one subscription database

0
0

Hi All,

We have our replication environment with a separate SQL 2014 publisher, distributor and subscriber.  We have a table named DPSP on 14 databases which is to be published via transactional replication to 1 subscription database.  The source tables are identical in name, schema and clustered index.  We have created 14 tables in the subscription database with a suffix to the name (see below):
 

Each table in the subscription database has its own uniquely named primary key and clustered index:

Below are the settings for one of the published article:

The same process is repeated for each DPSP table created in 14 separate publications. Snapshots are generated and subscriptions created successfully.  After some time, the log reader starts to show the following errors in replication monitor:


2015-08-12 21:48:24.156 7 transaction(s) with 11 command(s) were delivered.
2015-08-12 21:49:04.233 5 transaction(s) with 7 command(s) were delivered.
2015-08-12 21:50:04.355 No replicated transactions are available.
2015-08-12 21:50:09.378 13 transaction(s) with 17 command(s) were delivered.
2015-08-12 21:51:12.168 No replicated transactions are available.
2015-08-12 21:52:12.306 No replicated transactions are available.
2015-08-12 21:52:32.337
42000 The row was not found at the Subscriber when applying the replicated command. 20598
2015-08-12 21:52:32.337
42000 The row was not found at the Subscriber when applying the replicated command. 20598
2015-08-12 21:52:32.337
42000 The row was not found at the Subscriber when applying the replicated command. 20598
2015-08-12 21:52:32.337
42000 The row was not found at the Subscriber when applying the replicated command. 20598
2015-08-12 21:52:32.337
42000 The row was not found at the Subscriber when applying the replicated command. 20598

2015-08-12 21:53:47.716 Error executing a batch of commands. Retrying individual commands.
2015-08-12 21:53:47.732 Agent message code 20598. The row was not found at the Subscriber when applying the replicated command.
2015-08-12 21:53:47.763 Category:COMMAND
Source:  Failed Command
Number: 
Message: if @@trancount > 0 rollback tran
2015-08-12 21:53:47.763 Category:NULL
Source:  Microsoft SQL Server Native Client 11.0
Number:  20598
Message: The row was not found at the Subscriber when applying the replicated command.

---------------------------

Any feedback / advise on this matter would be greatly appreciated.  Is there something fundamental that we have overlooked?

Thanks,
Tom

Is there a Setting graded ranks or importance on Peer to peer replication?

0
0

I have already a database working on 2 different cities and syncronised with peer to peer replication. Now It is working only with data but related to this data BLOB will be included  to system. There will be 2  BLOB objects related to a single data and will be (2x300) total 600 KB each. And from the application, data is coming with a package like 10000 data each(and bulk inserted) so related BLOB data may be 6 GB total. These BLOB data is not high importance for me but data is.

So If I include BLOB to same article because of syncronisation will work in order, second incoming high importance data will wait the first came 6 GB BLOB to finish syncronisation. (or am I wrong?)

My first question is I can't find a setting like graded ranks or high importancy for replication. Is there smt like that?

Then I found an idea. I can set 2 different peer to peer replication with different articles. But this time if I use same distribution table I think there won't be any difference to work in order. So I decided to create 2 different distribution table. But this time I can not find how to say to second publication to use second distribution table.

If this is possible, In my opinion replication on data part won't wait the replication on BLOB part and work seperately. My second question Is this possible? If so how?

P.S I don't want to use a different database for BLOB




log_reuse_wait_desc = replication, transaction log won't stop growing

0
0
Hello,

We are using MS SQL Server 2005, version 9.00.3042.00.  Our recovery model is set to SIMPLE.  We do two different snapshot publications a day in the middle of the night, and the replication agents stop when they are done, I checked. 

There are no open transactions on the database in question, although there are around 20 on tempdb.  The transactions on tempdb when reading from sys.dm_tran_database_transactions all have:
database_transaction_begin_time = NULL
database_transaction_type = 2  (read-only)
database_transaction_state = 3  (The transaction has been initialized but has not generated any log records.)
database_transaction_status = 0
database_transaction_status2 = 256

This is the result of an OPENTRAN command run on the database in question March 6, 2008 at 1:40 PM.
Oldest active transaction:
    SPID (server process ID): 81
    UID (user ID) : -1
    Name          : INSERT
    LSN           : (999:138204:2)
    Start time    : Mar  6 2008  1:34:47:827PM
    SID           : 0x88d52e4051a71143adee5dc7b6619f8a

Replicated Transaction Information:
        Oldest distributed LSN     : (890:2091888:1)
        Oldest non-distributed LSN : (896:2784855:1)

This is the problem:
The transaction log won't stop growing.  The log_reuse_wait_desc in sys.databases for this database says REPLICATION, but the replication agents are not running.  I know that it worked fine for several days after the replication was set up, when the log_reuse_wait_desc said NOTHING, but I don't know why it changed to REPLICATION.  When I run the shrinkfile command, it runs, but the file size remains the same. 

Everything I've read says that with a simple recovery model the transaction log should essentially take care of itself, or I should be able to shrink it with dbcc shrinkfile, but that's not happening, so what's the next step?

Any help would be appreciated.

Have a good day.
Dale Buchanan

slowness between distributor and subscriber in TX replication with single subscirber

0
0

Hello,

I am using SQL Server 2012 SE and implementing TX replication with one subscriber.I am noticing that the replication between distributor to subscriber is having lot delays in the past one month but eventually get caught up after a couple of hours or so. Currently here is how the databases are

Publisher database is 220GB
SubscriberDB is 180GB
Distribution Database is 3GB

No new tables were added to the publisher database for a very longtime (not in the past 2years atleast). From a schema change perspective we are adding indexes to the publication database during a downtime and we are replicating schema changes. One was added a couple of days back and one may be a few months back. Right now I am noticing a delay that started around an hour back and slowly growing with delay of 45 mins and undistributed commands around 75000 and apparently the inserts from replication are causing some blocking to the application.

How do i know whats causing the slowness?
the exec sp_helppublication @publication = 'publicationname' returns imeediate_sync as 1
and select * from distribution.dbo.MSsubscriptions returns virtual for subscriberdb.

Please share your valuable thoughts so that I can get rid of this slowness between distributor ans subscriber.

Thanks a ton

TX Replication distributor has 7million rows to deliver and a delay of 4hrs

0
0

Hello,

Last night I ran a Friday night delete job(like every friday night) on publisher database and completed around 7:00AM this morning. However the subscriber is still running exec [sp_MSdel_dbotablename] 'parameter' and distributor still holding up around 7 million rows and showing latency of 4hrs.

I thought when the deletes are done on publisher database they get replicated at the same time and when job is done it must have deleted on publisher as well as subscriber. However it doesnt appear to be the same.

Is there a parameter setting at distributor end that would fix this issue. I am currently running sql 2012 SE and its a vm with 24 virtual procs with pub, dist, and sub on the same server. Storage is not an issue as we are having atleast 100GB on each drive.\

Experts I need your valuable inputs.

Thanks a million

Replication-Primary key issue

0
0

Replicating the below table from publisher to subscriber


CREATE TABLE [dbo].[Product](
[ID] [int] IDENTITY(1,1) NOT FOR REPLICATION NOT NULL,
[SKUSuffix] [varchar](20) NULL,
[StoreCode] [varchar](2) NULL,
[Inventory] [int] NULL,
[inventoryBuffer] [int] NULL,
[POETA] [datetime] NULL,
 CONSTRAINT [ProductVariantInventory_rep] PRIMARY KEY CLUSTERED 
(
[ID] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
) ON [PRIMARY]

GO

SET ANSI_PADDING OFF
GO

But I am not able to see primary key for ID at subscriber why?


Vanchan

2012 standard - merge - initial data in snapshot not replicating

0
0

Hi,

I just reset my test environment since a lot of the code changed. Create the databases on both the publisher and subscriber. Create the publication on the publisher, the subscription on the subscriber. Ran the snapshot agent. Started running the merge agent.

Whether I add the initial data before / after creating the publication or before / after generating the snapshot, that initial data does not go to the subscriber. If I reinitialize with a new snapshot, the new snapshot does contain the data in the BCP files in the replication folder. The data in the snapshot still does not flow to the subscriber whether there is an identity column or not in the table.

Any data that is not part of that initial import does flow to the subscriber. I don't have a single filter in the publication nor do I have triggers deleting the data. Also the merge agent takes only 5 minutes for the initial snapshot instead of the 20 minutes it needed on all the reset before due to the size of the initial data.

So, how come the data in a snapshot that contains all the data and thus should be applied / transferred to a new subscriber actually does not get transferred ?

Best regards,

Olivier

Viewing all 4054 articles
Browse latest View live




Latest Images