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

Reorganize Indexes on Replicated Articles

$
0
0

Hi All,

what happens in case Replication Log Reader Agent couldn't able to send a batch with 1 lac records? 

1) It stops but doesn't start until we manually starts?

2) It restarts within retry interval and sends a new batch with commands?

Thankful to your advice on this.

Regards,

Kalyan 


----Learners Curiosity Never Ends----


'Expired subscription clean up' sql agent job is failing

$
0
0

'Expired subscription clean up' sql agent job is failing

Message is:

DELETE failed because the following SET options have incorrect settings: 'ANSI_NULLS,QUOTED_IDENTIFIER, ARITHABORT'. Verify that SET options are correct for use with indexedviews and/or indexes on computed columns and/or query notifications and/or xml data typemethods.

Msg 20709, Level 16, State 1, Procedure sp_MScleanup_conflict, Line 66

The merge process could not clean up the conflict table "[MSmerge_conflict_CtelAthData_Publication_SalesAreaRegionPrice]" for publication"CtelAthData_Publication".

I can cure the ARITHABORT issue by adding a statement BEFORE the call to

sp_expired_subscription_cleanup:

SET ARITHABORT ON

However, I am unable to cure problems with ANSI_NULLS and QUOTED_IDENTIFIER in this manner.   Sp_MScleanup_conflict, called from sp_expired_subscription_cleanup, is declared with these settings set to OFF, undoing my SET statements???

The particular conflict table mentioned in the message, MSmerge_conflict_CtelAthData_Publication_SalesAreaRegionPrice, related to a replicated table that is defined with two calculated columns, one of which is persisted:

CREATE TABLE [dbo].[SalesAreaRegionPrice](
 [SalesAreaRegionPrice_ID] [nvarchar](32) NOT NULL,
 [SalesArea_ID] [nvarchar](32) NULL,
 [ExchangeRateType_ID] [nvarchar](32) NOT NULL,
 [StartDate]  AS (dateadd(day,(1),dateadd(year,(-1),[EndDate]))) PERSISTED,
 [EndDate] [datetime] NOT NULL,
 [CurrencyCode] [nvarchar](8) NOT NULL,
 [PriceList_ID] [nvarchar](32) NULL,
 [IsBasePrice]  AS (case when [PriceList_ID] IS NULL then (-1) else (0) end),
 CONSTRAINT [PK_SalesAreaRegionPrice] PRIMARY KEY CLUSTERED
(
 [SalesAreaRegionPrice_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]


I suspect this may be the only table with calculated columns that we replicate....

There is also the rowguid column that is added automatically by the system. If I check the table's properties then, under 'Replication/Table is replicated' the setting is FALSE.  However, if I check the 'Publication Properties' of 'CtelAthDate_Publication' then table [SalesAreaRegionPrice] is checked and ALL its columns are checked???  ALL columns, EXCEPT the persisted column 'StartDate', have a circled green asterisk besides them.  (What do the circled green asterisks mean???)

We are using merge replication with SQL Server 2005 sp3.   We typically run with sql server 2000 (80) backward compatibility.  However, (temporarily) switching to sql server 2005 (90) does not fix the problem. 

Can I use (merge) replication with calculated columns?   Should I untick the persisted column in the 'Publication Properties'?  Why are this table's (+ others) properties saying there is no replication?   Alas I did not set up the replication.  Am just trying to understand what is going on so I can fix it.

Thanks
Breadon

Restoring the Publishing Database from a Subscriber Backup

$
0
0

We've had a catastrophic failure on our publishing database which has wiped the entire database from existence.  (Completely inexplicable).  For various reasons relating to some bizzare decisions by a previous vendor, the failure of the publisher has gone unnoticed until today when identity column constraints started being violated.

This means that any backup of the publisher database is well out of date from the subscriber and we need to consider the surviving subscriber as the master set of data.

My question is, what is the best process to re-establish the publisher from a subscriber (backup?).  My thinking was to backup the subscriber, wipe all the replication subscriptions (if I can), back-up again, then move the backup file to the publisher host, restore the database, and configure the replication from scratch again... will this work?  (Due to the distance between the hosts and the size of the database that has to be moved, I was hoping for some guidance before I chew up various traffic allowances with the data shift.

P.

How to rebuild index on publisher database in Transaction Replication

$
0
0

Hi,

My concern is when last time I ran rebuild online index script of 700 GB Tables or articles in publisher side, it took 6 hours to complete and after that my transaction replication stopped working. Ldf size had reached to 500 GB and replication stopped working. Data was not able to replicate from publisher to distributer throwing Error "sp_repldone could not execute"

This time again we are going to run rebuild index script on publisher. So what proactive activity we need to do to avoid such issues in future.

SQL version-    SQL Server R2 Enterprise Edition

synchronization between publisher and subscriber in Transactional replication

$
0
0

Hi All,

Im going to configure transactional replication from my PROD server to another server. I have 300+ tables and the total size of the DB is around 50 GB, which is getting realtime data from users as well as different sources.I have few question on configuring part

1) Im going to take a full backup and restore it in the target server for both the participating servers to be in sync.

2)By the time the DB is restored in the target server and i configure the transactional replication between the two nodes, lot of data changes would have taken place in my prod(source) server. So the target is out of sync. How is this managed in transactional replication setup. Will the snapshot agent makes sure both the publisher and subscriber are in sync at the time of configuration.

Thanks

SQL Server 2005 replication latency issue

$
0
0

We have Replication setup for SQL Server 2005 to Oracle server. Each table setup with separate publisher. We are having latency issue with only one table.

Snapshot get delivered successfully if we reinitialize it but after that it shows performance critical and Distributor to Subscriber history shows 'Delivering replicated transactions'. Undistributed commands are keep increasing. It marks subscriber in active after a week or so.

 

Process for this particular replication show suspended with wait type 'async_network_io wait'.

 

How do I troubleshoot the issue?

sql server replication requires the actual server name to make connection to the server-sql server 2012

$
0
0

Hello all

i am trying to create new publication for replicationin my sql server 2012 but got error- sql server replication requires the actual server name to make connection to the server.

before this in my sql server 2008 i can just drop the server name and add new one. but the adding new server part is not supported in sql server 2012. anyone have any idea how to add new server name?

thanks.


kneeah

The schema script 'xxxxsch' could not be propagated to the subscriber.

$
0
0
I am currently trying to configure a system for Merge Replication with Mobile devices.  My environment is as follows:

DB1:

Windows Server 2003 Standard Edition SP2

SQL Server 2005 Standard Edition SP2

SQL Server Compact Edition 3.5 Server Tools

WEB1:

Windows Server 2003 Standard Edition SP2

IIS 6.0

SQL Server Compact Edition 3.5 Server Tools

 

********N.B. – WEB1 and DB1, are NOT on the same domain and they are NOT on the same subnet.

I am trying to follow the following tutorial to set up Merge Replication:

http://technet.microsoft.com/en-us/library/ms171908(SQL.90).aspx

STEP1: Creating the DB

I created a very simple database that I want to publish articles from using the following script:

USE master;

GO

IF EXISTS (SELECT * FROM sys.sysdatabases WHERE name = 'SQLMobile')

BEGIN

    DROP Database SQLMobile;

END

GO

CREATE DATABASE SQLMobile;

GO

USE SQLMobile;

GO

CREATE TABLE MembershipData (MemberID INTEGER IDENTITY (1,1)

    CONSTRAINT pkMemberID PRIMARY KEY, MemberName NVarChar (50));

CREATE TABLE FlightData (MemberID INTEGER FOREIGN KEY REFERENCES

    MembershipData(MemberID), Destination NVarChar (50), FlightStatus

    NVarChar(50), ArrivalDate DATETIME, FlownMiles INTEGER);

 

I then insert a few rows into each table.

 

 

STEP2: Creating the Publication

 

I create a new publication by right clicking on “Local Publications” in SQL Server Management Studio (I am even doing this on the actual DB1 machine) and go through the New Publication Wizard. I select “SQLMobile” as my DB. ”Merge Publication” as my Publication Type. “SQL Server 2005” and “SQL Server 2005 Compact Edition”, I select all the tables in SQLMobile as articles to be published. No Filter Tables.  Create a snapshot immediately and default schedule are both checked. For run un ther following account I enter:

DB1\snapshot_agent(p@ssword) (a test account I have set up on DB1 and have checked passwords probably 10 times at this point).  I connect to the publisher with sysadmin account (for testing purposed only). Finally, I anme the publication SQLMobile.

 

Next I verify the snapshot has been created and it is located in:

C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\repldata

 

I then share this folder and verify that the DB1\snapshot_agent has read/write privelages.

 

STEP3: Configuring the Publication for Web Sync

(This now is all done on WEB1)

I create a windows account WEB1\snapshot_agent(p@ssw0rd).  I then log onto WEB1 with the snapshot_agent account and make sure I have read/write privelages to the \\IP OF DB1\repdata folder described in step 3.

 

Next I set up the publication for web sync.  I launch the Configre Web Synchronization Wizard (ConnWiz.exe, SQL CE 3.5). I select SQL Server Compact as the type of subscriber. Create a new virtual directory on WEB1 and anme it SQLMobile, with the path C:\inetpub\wwwroot\Sync.  I am not using SSL for this as this is a test.  I select “Clients will be authenticated” for Client Authentication.  I select “Integrated Windows Authentication” for Authentication access.  I then add WEB\snapshot_agent account to the Directory Access.  In the Snapshot Share Access section I set the path to:

\\IP OF DB1\repdata

 

The virtual directory is then created.  I verify that everything looks ok by navigating to http://sync.XXX.com/SQLMobile/SQLCESA35.dll?diag and see that everything that looks OK, except the SQL Server 200 connection (chich does not matter in this case)

Reconciler Test

Reconciler

Status

ErrorCode

9.0 Database Reconciler

SUCCESS

0x0

8.0 Database Reconciler

FAILURE

0x80004005

 

STEP4: Creating the Subscription

***Note I have tried this step from DB1, WEB1, and a remote machine with the same results

I create a new compact edition DB (.sdf file) on my local machine.  Launch the Add New Subscription Wizard.  To select the publisher I log into DB1 and select the SQLMobile Publication.  Name the subscription “SQLMobileTestSub”.  In the URL for the SQL Server CE virtual directory I enter:  http://sync.XXX.com/SQLMobile/SQLCESA35.dll .  I supply a SQL sysadmin credential for SQL login and try to create the subscription.  The wizard errors out in the “Synchronizing Data” step (although it does get to 100%)with the following error on the wizard:

- Synchronizing Data (100%) (Error)

Messages

·A call to SQL Server Reconciler failed. Try to resynchronize.
HRESULT 0x80004005 (29006)

The schema script 'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\ReplData\unc\DB1 _SQLMOBILE\20090805204475\MembershipData_2.sch' could not be propagated to the subscriber.
HRESULT 0x80070003 (0)

The merge process was unable to deliver the snapshot to the Subscriber. If using Web synchronization, the merge process may have been unable to create or write to the message file. When troubleshooting, restart the synchronization with verbose history logging and specify an output file to which to write.
HRESULT 0x80045017 (0)
 

·The operation could not be completed.
 

 

On the Virtual Directory in the log file I see the following error:

2009/08/05 20:58:12 == SQL CE Server Agent Version ==> 3.5.5386.0

2009/08/05 20:58:12 == SQL CE Server Agent Version ==> 3.5.5386.0

2009/08/05 20:58:12 Hr=00000000 SQLCE Server Agent Loaded - Version 3.5.5386.0

  0

2009/08/05 21:03:22 Hr=80040E4D ERR:OpenDB failed getting pub version 28627

2009/08/05 21:05:02 Thread=15C RSCB=2 Command=SYNC Hr=80070003 The schema script 'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\ReplData\unc\DB1 \20090805204475\MembershipData_2.sch' could not be propagated to the subscriber. -2147024893

2009/08/05 21:05:02 Thread=15C RSCB=2 Command=SYNC Hr=80045017 The merge process was unable to deliver the snapshot to the Subscriber. If using Web synchronization, the merge process may have been unable to create or write to the message file. When troubleshooting, restart the synchronization with verbose history logging and specify an output file to which to write. -2147201001

I see no significant errors in the event viewer on WEB1.

I see the following error on the event viewer in DB1:

Replication-Replication Merge Subsystem: agent 0039007B-0038-0039-3700-320038003500 failed. The schema script 'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\ReplData\unc\DB1_SQLMOBILE\20090805204475\MembershipData_2.sch' could not be propagated to the subscriber.

 

One point of note is the athe User in the event is “N//A”, not sure why I assumed it should be the snapshot account.

 

Finally, In the event viewer on DB1 I get the same error as in the wizard:

Error messages:

·          The schema script 'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\ReplData\unc\DB1_SQLMOBILE_SQLMOBILE\20090805204475\MembershipData_2.sch' could not be propagated to the subscriber. (Source: MSSQL_REPL, Error number: MSSQL_REPL-2147024893)
Get help: http://help/MSSQL_REPL-2147024893

·          The merge process was unable to deliver the snapshot to the Subscriber. If using Web synchronization, the merge process may have been unable to create or write to the message file. 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-2147201001)
Get help: http://help/MSSQL_REPL-2147201001

 

I have been working on this for a few days and can not get past this issue, has anyone been able to work through this? 

 

Any help would be extremely appreciated!!

 

Thanks!


Can we do Replication Snapshots from a readable Availability Group Replica

$
0
0

What has been people's experience doing this?

What special changes to Transaction replication Publication or Subscriptions are required?

Any contra-Indications?

Thanks

...Ray


...Ray

Remove article transactional replication

$
0
0

I have three dbs that are replicated at the moment. All three of them have been initialized from backup. No snapshot agent run.

I want to remove from one database, an article and I get a warning that I will have to reinitialize the subscription. Why ius that happening?

The ss of the waring is here: http://postimg.org/image/ino21ml23/

Why is this happening? i did the same in another publication and did not have any problems.

Thanks in advance


CKotsis


Only primary key and clustered indexes are being replicated non-clustered indexes aren't being replicated

$
0
0

I'm using schema option 0x00000000000090F3 on every table article in my publication being used for transactional replication, serving 6 pull subscriptions.  This option includes each of these options:

0x0000000000000001
0x0000000000000002
0x0000000000000010
0x0000000000000020
0x0000000000000040
0x0000000000000080
0x0000000000001000
0x0000000000008000

My understanding of BOL is that, since it includes 0x10 and 0x40 that all indexes on the table should be replicating to the subscribers.  But that isn't happening -- I'm only getting primary key indexes/constraints and clustered indexes.  Is there a reason the non-clustered indexes might not be replicating as well?  

I have read a few posts here and there that indicate indexes don't get replicated, or that the sync option might be a factor.  What would cause this?

GEO Replication remote distributor

$
0
0

Hi, 

We are currently operating a geo replication topology, with a remote distributor in the same geographical location as the publisher and a pull subscription over the internet from the subscriber. All replication is of the transactional replication type.

We are looking to move the remote distributor to the same geographical location as the subscriber. I am interested if anyone else has done this and what kind of performance issues they have seen.

I have seen plenty of literature such as http://msdn.microsoft.com/en-us/library/dd263442.aspx advising on distributor best practices when replicating over the WAN, but not a lot on log reader best practises.

Is it even advisable to put the load on the log reader when replicating over the internet?   

Many thanks




SQL Database Replication performance issue

$
0
0
We have configured SQL 2012 Server Database Transaction Replication for our client's .NET Web application to distribute SQL transaction and reporting on different SQL servers. 

We had implemented transaction replication on to SQL-Node1 is working as Master DB Server, We'd configured replication of Master DB on SQL-Node2 to pull out reports in to our web application which having lots of transactions and data uploading from excel sheet entries around 10 million entries each day. 

After configured replication on Two SQL 2012 server, after few weeks we facing some performance issues and found some resource get locked during uploading files on to database that's why application unable to access those tables and data. Also found that server performing too much slow during day time when users access our web application.

Now we are looking to distribute loads on different 3 Nodes of SQL 2012 Servers. Where web application will access and transact data on SQL-Node1, Reporting queries get pull data from SQL-Node2 and SQL-Node3 will be get used to upload excel sheet data on to Database which will get replicated on all other SQL Nodes.

Current Setup, All Servers having Windows Server 2008 Standard and SQL 2012 Enterprise Edition.

Database size approx : 15 GB / Replication Used : Transaction / Distributor Role configured on SQL Node1 / Subscriber role configured on SQL Node 2.  

We are looking for solution to resolve above issues which can distribute different loads (reporting, data uploading, transaction) and replicate data between all SQL Nodes.

Which feature will do perform well for above scenario among SQL 2012 HA, SQL Replication or SQL Mirroring ??

Quick response will be highly appreciated. 

Add additional subscriber to Transactional replication

$
0
0

Hi All,

Current scenario: Site 1 (Publisher DB) --> Site 2 (SubscriberDB) -- Transactional replication is setup

Now,we need to add another subscriber at Site 3. 

We plan to initialize the 2nd subscriber using a Backup. (http://msdn.microsoft.com/en-us/library/ms151705(v=sql.90).aspx). Currently, allow_initialize_from_backup is already set  to 1.

While adding new subscriber, I plan to DISABLE DISTRIBUTOR CLEANUP JOB temporarily to prevent removal of transactions from the distribution database. 

Further, we need to setup a filtered replication from this 2nd subscriber.

Questions:

1. Is there a downtime (even a small one) needed during this initialization using backup?

2. What other risks are seen during this kind of setup?

3. If I use the steps at http://msdn.microsoft.com/en-us/library/ms147834(v=sql.90).aspx to add the subscriber,
it will by default create a push replication, am I correct? (as that is what I want)

any help is highly appreciated!!

Thanks.

Transactional Replication

$
0
0

Hi,

We are using transactional replication on SQL 2005 std (On Windows Server 2003)

Due to some reasons replication is not working from past 4 days today just i checked and created new snapshot.

After that my CPU utilization is went to 100% , Then i completely stopped replication job but no use. Then i restarted sqlservice but still cpu is 100%.

Is this correct when creating new snapshot CPU goes by 100%?

We having publication and distribution on one server and subscription on another server



Deferred Updates happed even if the value does not change in SQL Server 2012

$
0
0

I am not sure if this was an intentional compatibility break for SQL Server 2012, but I have not been able to find any docs on it, so I am going to post it here to see.

We upgraded our SQL Server that publishes reference data to other servers.  The upgrade moved us from SQL Server 2008 R2 to SQL Server 2012.

After the upgrade we noticed that some of our replications would break because tables that were designed to never delete rows were trying to replicate deletes.

After a lot of research I found that my SSIS package that populates the source table every night was starting the chain of events that lead to the deletes.  This SSIS package fills a stage table, then does a MERGE to the "live" data.  (The idea is that any changes to data will then be replicated to the subscribing databases.  This all worked perfectly with SQL Server 2008 R2.)

The SSIS Package is very careful to never delete any rows.  Any NOT MATCHED on Source rows have an IsActive column set to false (not a DELETE).

However, after upgrading to SQL Server 2012, this merge statement would cause  every row in the table to try to publish a delete and an insert statement to the subscribers.

In an attempt to get to the point of this issue I need to define a scenario that can cause a Deferred Update:

If a MERGE statement has the clustered key in an UPDATE statement (in the MATCHED clause) then every row affected will post as a Deferred Update (Causing a Delete and an Insert to be published to subscribers).

However, new in SQL Server 2012, is the fact that even if the value of the clustered keyDOES NOT CHANGE it will still replicate as a Deferred Update.  Infact, even ifnothing in the row has changed at all, the row will still replicate a delete and an insert.

I tested this with traces an found it to be true and totally reproduceable every time.

So, I have 3 questions:

  1. Has anyone else seen this?  (Can it be reproed by more than just me?)
  2. Is it a Bug?
  3. Is there a way around it (besides using a compatibility mode)? 
    (NOTE: Trace Flag 8207 will only work if you are updating a single row, my merge statement affects the whole table.)

For now we removed the Clustered Key (Primary Key) from the update part of the merge statement.  (It never, ever, changes, so we did not need it there anyway.)  But I would still like to know what is going on here.



Merge Replication Error

$
0
0

Hi ,

 I am getting the below error in merge replication.

 The merge process could not replicate one or more INSERT statements to the 'Publisher'. A stored procedure failed to execute. Troubleshoot by using SQL Profiler.
2013-07-19 02:30:44.084 OLE DB Distributor '': {call sys.sp_MSadd_merge_history90 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)}
2013-07-19 02:30:44.406 Percent Complete: 0
2013-07-19 02:30:44.409 Category:NULL
Source:  Merge Replication Provider
Number:  -2147200990
Message: The merge process could not replicate one or more INSERT statements to the 'Publisher'. A stored procedure failed to execute. Troubleshoot by using SQL Profiler.
2013-07-19 02:30:44.412 Percent Complete: 0
2013-07-19 02:30:44.413 Category:COMMAND
Source:  Failed Command
Number:  0
Message: save transaction mergecommitbatch
2013-07-19 02:30:44.415 Percent Complete: 0
2013-07-19 02:30:44.415 Category:SQLSERVER
Source:  UEPLDB
Number:  628
Message: Cannot issue SAVE TRANSACTION when there is no active transaction.
2013-07-19 02:30:44.416 The Merge Agent was unable to update information about the last synchronization at the Subscriber. Ensure that the subscription exists at the Subscriber, and restart the Merge Agent. 
2013-07-19 02:30:44.417 The merge process was unable to update last synchronization information at the Publisher.

How can I resolve this, Any help will be really appreciated.

Thanks

hai all

$
0
0

consider a scenario where in replication, when the publisher database gets unavailable, that time we can insert/update/delete data into subscriber database i think. Now my question is what all the data modifications we do in subscriber database how will it gets sync to the publisher databases in replication?

thanks in advance.

hai all.

$
0
0

i have a question which is simple but it gives me lots of confusion," IS PATCHING  SAME AS UPGRADING OR THEY ARE DIFFERENT? can anyone explain please the difference between patching and upgrading if they are different?

especially how do we patching in snapshot replication?

thanks in advance.

Merge replication with rebublisher - retention periods and conflicts

$
0
0

Hi All,

I have a question regarding publication retention periods when you have a republisher.

I have a merge replication topology as follows:

Server1 = publisher (with single database)

Server2 = republisher (and distributor)

Server3 = mirror of publisher DB

Plus 6 remote/mobile devices that subscribe to publications (with static/join filters) on server2.

There's an MSDN article that talks about "considerations for setting the publication retention period for merge publications" - and it says that "The retention period for any republisher must be set to a value equal to or less than the retention period set at the original Publisher."

My remote subscribers need a retention period of 5 days because they can't always sync due to poor mobile coverage - and those publications are on the republisher. Does that mean that the retention period for the publication that the republisher subscribes to on the publisher must be 5 days or more?

I'm just trying to clarify this because at the moment I have a retention period on the publisher publication of 1 day and 5 days for the remote clients and I'm getting lots of "false" conflicts between the publisher and republisher.

And if I have to increase the retention period on the publication on the publisher do I need to reinitialise all subscriptions in the topology?

Thanks for your help.

Viewing all 4054 articles
Browse latest View live




Latest Images