Articles on this Page
- 12/21/13--10:54: _Replication Monitor...
- 12/11/13--11:00: _Trans Repl terminat...
- 12/26/13--00:23: _Replication problem...
- 12/27/13--06:59: _how to hide (+) ico...
- 12/29/13--13:01: _Can create 52 publi...
- 12/29/13--22:40: _sys.fn_cdc_get_max_...
- 12/30/13--09:00: _Automatic Snapshot ...
- 12/31/13--00:30: _Peer tp Peer transa...
- 12/28/13--21:15: _Performance reports...
- 12/28/13--03:51: _Steps to add the pu...
- 12/31/13--20:32: _service pack1 and C...
- 01/01/14--23:08: _Snapshot Replication
- 12/31/13--11:57: _Transactional repli...
- 01/02/14--01:38: _Sql server replicat...
- 12/28/13--04:04: _Invalid object name...
- 01/03/14--07:02: _Merge / Peer to Peer
- 12/31/13--06:15: _Error in Business L...
- 12/21/10--05:22: _Peer-to-peer public...
- 01/03/14--11:18: _Restore From Backup...
- 09/25/13--06:51: _Agent still attemtp...
- 12/21/13--10:54: Replication Monitor Missing Subscriptions in Watch List
- 12/11/13--11:00: Trans Repl terminates and restarts after error
- 12/26/13--00:23: Replication problems with slow (
- 12/27/13--06:59: how to hide (+) icon in drilldown when there has no row?
- 12/29/13--13:01: Can create 52 publication, but creating 53rd leads to problems
- 12/29/13--22:40: sys.fn_cdc_get_max_lsn() is giving error
- 12/30/13--09:00: Automatic Snapshot File Deletion
- 12/31/13--00:30: Peer tp Peer transactional replication in 2012
- 12/28/13--21:15: Performance reports replicated in sqlserver
- 12/31/13--20:32: service pack1 and CU3 apply on ssas in sql 2012 ?
- 01/01/14--23:08: Snapshot Replication
- 12/31/13--11:57: Transactional replication server upgrade
- 01/03/14--07:02: Merge / Peer to Peer
- 12/31/13--06:15: Error in Business Logic Handler
- 09/25/13--06:51: Agent still attemtpting to run deleted publication
In Replication Monitor, for one of our publications (transactional replication), none of the subscriptions are showing up in the Subscription Watch List. This is new behavior that just started recently.
The other publications associated with this distributor don't exhibit this behavior, the subscriptions are visible under the Subscription Watch List tab.
I can reproduce similar behavior using the Sp_replmonitorhelpsubscription SP. When executing this using the @publisher that is not returning results in the Replication Monitor, no results are returned. But when using the @publisher that do show subscriptions, results are returned.
I've confirmed in the subscription database for this affected publisher that transactional replication is functioning as expected, commands are being delivered, row counts are in sync.
Is there anything that can be done to get the subscriptions to appear again for the affected publisher?
Microsoft SQL Server 2008 R2 (SP2) - 10.50.4000.0
Having a strange issue where transx replication is running for one of our larger publication and is going along smoothly then an error hit ...
TCP Provider: An existing connection was forcibly closed by the remote host.
The sync then initializes again and starts delivery the rest of the transactions neededing to be pushed out.
Added to this is that our alerting tool (DELL Spotlight) fires off a call to the oncall DBA saying the instance is down BUT everything is fine.
I do not see anything in the WIN App or Sys event logs at that time.
Wondering what I need to look at to figure this out or get more details.
Yesterday we noticed on our production database that replication did not run anymore because of an error in one record. This forced us to re-iniitalize the subscription. Maybe this is exactly what we should not have done but we did . The result was that production stopped because of the first part of the replication to dump all the tables and make new empty ones. The problem is that this does not seem a good idea for a slow connection between 2 machines. Better would be that we could just restart the replication from a backup but as far as I know this is not possible.
So my question is now what can we do to speed up the replication if there is no way that we can improve the line quality. (One server is in NL and the other in CN, and as everybody know there is the great big firewall in Bejing which controlls all the internet traffic. )
Is there a way to prevent replication from emptying the tables and fill them again.
Many thanks Peter Kaldenberg
I have create a report with a table. I add a drilldown function in the table. Now what I want is if i can hide the (+) icon, when it is return no row in the Group.
My apologies in advance for a long post, but I was really trying to make sure I do my due diligence before turning to the community for help, so here it goes.
I am working on a proof of concept with the purpose of using transactional replication to maintain a "reporting" copy of our databases. The setup will include a "Publisher" server and a separate "Subscriber" server. The replication will be a "Pull" transactional replication with a distributor running on the Subscriber server. Once again: Publisher => pull => (Distributor + Subscriber)
We expect to have a lot of databases on each of our servers, so, in order to mimic this scenario, I restored 100 databases (about 1 GB each) on the publisher. All of the databases are identical.
I wrote a script, which enables me to setup replication in an automated fashion (since obviously I don't want to do it manually dozens of times). The script performs the following steps:
1. Enable replication for a database (if not enabled already):
2. Create logreader agent for a database
3. Create publication for a database (if doesn't exist)
4. Create snapshot agent for a database (don't run it yet)
5. Add articles to the publication
6. Run snapshot agent job (and wait for it to finish)
7. Create subscription database (if it doesn't exist)
8. Add subscription in the subscription database (if it doesn't exist)
9. Create distribution agent
I am able to successfully setup replication for about 52 of my databases and everything is running fine. When I get to #53 things start to go wrong. The snapshot creation is successful, but the logreader and the distribution agents fail. Moving on to #54 everything is now completely broken. The snapshot does not get created and none of the agents are running. I have carefully reviewed replication monitor and SQL Agent jobs looking for error messages, but didn't find anything helpful. The replication monitor simply says: "Agent Shutdown. For more information see the SQL Server Agent job history for job ‘….correct job name here…’". In the details it says: "The replication agent encountered a failure. See the previous job step history message or Replication Monitor for more information". Next I go to the SQL Agent Jobs and review the output. In the job history the failed step says: "Message : The replication agent encountered a failure. See the previous job step history message or Replication Monitor for more information". In turn, the previous step has no info at all. Just the word “Message” with nothing after that. I have also reviewed the windows application log for any errors, but it simply repeats the same messages I see in the replication monitor and agent job history. I added “–output” parameter to the agent command (in the job step properties) hoping that the output file would provide me with more information, but no output file gets created, which leads me to believe that the agents don’t even start.
I was thinking that I might have hit some hardware limit, so I checked the disk space and there is plenty of it available. I have also checked RAM and it's not even 50% used.
Finally, what really gets me is that I am able to run all of the agents manually from the command line. For example, I can copy paste parameters from the SQL Agent snapshot job and run snapshot.exe from the command line with these parameters – the snapshot gets created successfully. The same goes for logreader and distribution agents.
I am completely confused here and appreciate any pointers in the right direction.
Final note (and maybe the only silver lining): The problem is fully re-producible. I can successfully setup my 50+ subscription and then the issues will always start around subscription number 52-53.
This function don't have facility to extract the instance specific LSN, As we have with sys.fn_cdc_get_min_lsn.
.fn_cdc_get_min_lsn('tablename').. Is there any other way to extract the instance specific lsn
Regards Vikas Pathak
Would like to know how to delete snapshot files created during a “push subscription”. The current path for these are: D:\mssqldata\MSSQL.1\MSSQL\repldata\unc\SQLSERVER_TEST_DB_TEST_DB\2013122700…, 2013122800…. In the replication setup wizard, did not see any options to set the file retention. Is there a way this can be accomplished without manual intervention.
Any suggestions or recommendations would be greatly appreciated.
Thank you in advance.
SQL Server 2008 standard edition does not support Peer to Peer Transactional replication.
I want to know if 2012 Standard edition supports Peer to Peer Transactional replication OR do I need to have enterprise edition 2012 server.
I have a scenario where I have an aspnet application with database sqlserver , I do but some reports with reporting services that will refer to the same database, as many people will use reporting services (ie you will have to have massive reading in the database) , then I plan to make a transactional replication , ie :
The ASPNET application on a server, and reports with Reporting Services to another server, the aspnet application work with a database on another server,
but reports with Reporting services would be connected to a one-way read-only transactional replication , the data comes from the primary database .
That is my aspnet would work with the main bd
and my reports with reporting services with bd replicated in another server,
so I will have two main db server either replica ...
If I am correct , what if the main bd or replica falls , ie for example if the primary database goes down the replica will continue working and if the replica falls you can continue working with the database main ..
These are the questions that I have ...
We are upgrading the servers to 2008 to 2012 and implementing the Always ON for the HA and replication. I am stuck on making the replication work between the primary publisher and the subscriber secondary post failover. Did any one faced and fixed the issue and if so, please share the details steps.
I want apply service pack 1with CU3 on particularly SSAS on my server why bcoz on we already applied on database engine after few day we installed the SSAS on my server so now i want to update the SSAS on this server ...is it possible ?
when i am trying to apply the service pack on SQL server 2012 SSAS .. i get error message like :There are no error SQL Server instances or shared features that can be updated on this computer in SQL server2012
Please help on this
after creating snapshot replication , when i checked the 'view synchronization status' i found that snapshot agent was unable to create a script for a table , when i excluded the table from article selection it was working perfect , the datatypes in that
table were time,datetime,datetime2,datetimeoffset and smalldatetime . what was the reason ?
We have to upgrade our SQL 2008 publication to SQL 2012. Our Subscribers are still on SQL 2005 which also needs to be on SQL 2012. It’s heavily used OLTP system. Source databases all together are 1 TB.
The production server ServerA replicates to Server B and Server B replicates to Server C. Distributors are on publishers due to the higher or same SQL version on source.
Three different publishers Server A1, Server A2 and Server A3 replicate data to ServerB.
One database publishes from A1, A2 and A3 to Server B. So on Server B the data merges by unique keys. (Complex thing is the tables which doesn't make unique record we modified the insert/update/delete
replication procedures on source
servers to add hardcoded key value). Also, not the entire database is replicated. There are filters and few articles are replicating. Sometimes this adds problems. Troubleshoot takes time as re-initialization is not an option.
Q1: Is this the good design?
For rest of the databases, it's straight forward database to database replication. So on Server B there are three copies of databases replicating from A1, A2 and A3.
The Servers B and C are used heavily for reports and some reports require very close to live data.
Q2: How do I proceed with the SQL server upgrade to 2012? I have an option to go for log shipping or other types of replications. Any recommendation? I don't want to make it very complex.
Q3: Is it good idea to keep distributor for source servers (A1, A2 and A3) on different servers? Would it help in performance or replicate the transactions smoothly (without delay or queued)?
Q4: To All SQL replication guru - please help me and give me inputs and suggestions. I would appreciate all your help.
Let me know if you have any questions.
We are trying to create a replication between Sql server 7.0 data to SQL server 2005 data . We tried to create a local subscription in Sql server ,when tried to connect to publisher running in Sql server 7.0 it is showing an error message like "This Sql server vresion(7.0) is not supported" .
Could any one please help us with this issue ?
I have asked this question earlier, but did not get a reply that I would suffice with... so asking it again
My Customer is revamping his server setup, the design he wants is something like this
Two copies of the same database on 2 different servers, both should be in sync every time and at the same time he wants that both the databases should be available for read/write operations... and this should be a DR setup, i.e. if one goes down the other should take the load.
I though of using replication ... peer to peer OR Merge OR Transactional replication with updateable subscriptions.
Peer to Peer : As It is capable of being implemented as a DR solution I though this would be ideal, but I am discarding this as I have read in many articles that there are synchronization issues for conflicting rows and it throws an error message on finding such conflicts.
Merge replication OR Transactional replication with updateable subscriptions : can I use one of these.
Also I want to know .. how advisable (or rather foolish) is it to use Replication (any setup) for a 5GB database which should have a latency of not more than 1 min.
OR should I scrap this idea of replicating and use always on.. where in I can use the secondary node or reporting at least.
For this I may need to convince the customer.
I am getting this error at Subscriber end. Please help.
"Error loading custom assembly "C:\Program Files\Microsoft SQL Server\100\COM\
Generally SSMS wizards are quite efficient but the replication wizard, which allows me to create a replication on a remote server from the publisher/distributor server is failing with techno speak that I cannot reference.
Peer-to-peer publications only support a '@sync_type' parameter value of 'replication support only', 'initialize with backup' or 'initialize from lsn'. Changed database context to 'sourceServer'. (Microsoft SQL Server, Error: 21679)
Is the above saying I need to physically create a backup of the snapshot and restore it to the target database? Or is it saying the permissions between the two are whacked? Or that lsn thing... it all points to a snapshot that is required for initialization. Why is the wizard NOT creating the snapshot for initialization and INSTEAD, giving the error listed above.
Steps to reproduce:
Initialize Distributor at source server
On remote server create a target database (empty)
On the source server, right click and run the New Subscriptions wizard - reference the publication, run push (that's the default), add remote server as subscriber - reference the target database on that server, provide a service account with SA on both remote and local servers (source and target),
accept SYNC defaults (Run Continuously),
Initialize Immediately, (says snapshow agent must run and generate a snapshot of the publication before the subscriptions can be initialized) [this is probably the catch - maybe the wizard is not smart enough to do this is attempting to subliminally hypnotize the reader into knowing it is a failure as a wizard??? dunno about this one] -
Click Next to get to the Wizard Actions which says "Create the Subsciption(s)" and review the results: Click Finish to perform the following actions:
Create a subscription to publication 'Members' from Publisher 'SourceServer'.
Create subscriptions at the following
Subscriber(s): remote server Subscription database:
MemberSubscription Agent location:
Distributor Agent schedule: Run continuously
Agent process account: domain\serviceaccount
Connection to Distributor: Impersonate 'domain\serviceaccount'
Connection to Subscriber: Impersonate 'domain\serviceaccount'
And yes, it looks to me like there is a step missing - why doesn't it create a snapshot to initialize the subscription. Here's why I ask. If two years ago, I create a snapshot and then I initialize the target database with that snapshot, it most likely is not the same fields and definitely not necessarily the same data that is currently in the database.
How will the subscription know that all that stuff is missing? I suspect it won't so my expectation here is that the wizard, takes the snapshot and applies it. But looking here, I don't see that in the list. Ditto on this discrepancy even if the snapshot is one minute behind the database as this information changes constantly. [otherwise why create a subscription if the information is static]
So where am I going wrong that this step is not happenning? Says it started the snapshot agent successfully even though it failed to create the subscription. Error is the same regardless of whether it is initiated at the source server or at the target server (push or pull).
I found this related article but not much else regarding this issue but its solution is not possible for me due to the size of the database.
My Database is 50+ GB so I can't use snapshot as i need to compress the data before I transport it over the WAN. Snapshot Compression failed because the snapshot is to large. This seems like a wierd error as I can zip the file but suspect it has something to do with what ever compression MS is using on snapshots has a 2GB limit or something,
Anyways I ran profiler to try to capture exactly what the error was basically Its in a loop it creates the SP_MSDelDbo stored procs for each table then runs the failing query then rolls back and starts the process over again.
Below is a screen shot from Profiler but running the commnad executing before the error
if columnproperty(object_id(N'dbo.MSreplication_objects'), N'article', 'AllowsNull') is not null
exec ('insert dbo.MSreplication_objects (object_name, publisher, publisher_db, publication, article, object_type) values (
+ N''sp_MSdel_dboE_RE_LIST_TransacFolders'' , N''CTMS1'' , N''ctmsoftware2'' , N''CTMSoftware2'' , N''E_RE_LIST_TransacFolders'' ,''P'')')
executes succesfully with 1 row so not sure exactly why I can't see the error or how to fix it.
Any help would be appreciated.
We recently retired a replication publication, deleting each subscription (push subscriptions) and then deleting the publication, all from within SSMS. However, we continue to get the following message (once every minute) in the four days since deleting this publication.
Replication-Replication Distribution Subsystem: agent (null) failed. The publication 'Replicate_ASG_Reference_Data' does not exist.
Why is it still trying to run a deleted publication, and how do I stop it?
Additional information: This is on SQL Server 2008 SP3 running on Windows Server 2008 R2.