Merge Replication, Subscriber Can Only Download But Not Upload??
Apr 28, 2007
Hi,
I need a urgent help! The problem is that every synchronization only transfer data from subscriber to publisher, but not the other direction. The publisher is sql server 2005 standard edition, and the subscriber is 2005 express. Is that any stored-procedure to deal with such a problem?
I am using the "Pull Subscription Wizard" to set up merge replication. I go through all the steps of the wizard and then I hit "Finish" at the end. When it gets to the third step (Creating the Subscription), I get the old:
__________________________________________________ _________ mmc.exe has generated errors and will by closed by Windows. You will need to restart the program.
An error log is being created. __________________________________________________ _________
This happens whether I try to do this from my PC or from the actual server I am creating the subscription on.
Has anyone else had this issue? Is there a hotfix I need?
I am using merge replication with a push subscription type. I am wondering if the updates of the tables on the subscriber side are push to the publisher from the subscriber or pulled from the subscriber by the publisher when the syncronisation takes place. this makes a big diferrence for me and i can't find the answer to this question anywhere...
if anyone could answer it would be really appreciated
Using SQL CE 3.1 merge replication. Working fine, but want to make subscription read only. In other words, master/slave pattern. How is this accomplished?
Hi. I have setup an SQL Server 2005 Merge Replication. Now I need to display the status of the replication programatically from the subscriber side, I have checked the documentation which mentions MergeSubscription & MergeSubscriberMonitor but I couldn't know how to use them!! Any Help ? Thanks
Using Merge replication between SQL Server 2000 and SQL Server CE, is there any way that row deletes could occur on the subscriber without a reinitialize or explicit delete of row on publisher.
More specifically, if there is a row filter that returns a days worth of data with each days pull, for example, and the filter looked like select <columns> from Table where UpdateDate < GETDATE() and UpdateDate >= DATEADD(d,1,GETDATE()) would there be some implicit delete at subscriber each day because data sent changed?
My research indicates this does not happen, but I have a colleague who thinks differently.
I have setup merge replication between SQL Server 2005 and SQL Server Express. The setup uses web synchronization. (And the setup uses dynamic filter HOST_NAME)
On some of the client machines, replication fails with the following error (when initializing the subscription):
from subscriber merge agent verbose log: A dynamic snapshot will be applied from 'D:DOCUME~1JBAUMG~1.CORLOCALS~1TempDB101-EQA-SCL_BQDB_BQ_PUB_BQDB'
Validating dynamic snapshot 2007-04-1819:39:45.434 OLE DB Subscriber 'FRG-BAUMGARTENJSQLEXPRESS': sys.sp_MSregisterdynsnapseqno @snapshot_session_token=N'\XXX.XX.XX.XXSnapshotuncDB101-EQA-SCL_BQDB_BQ_PUB20070417180079dynsnap', @dynsnapseqno='5599F67E-A1A9-4573-A14F-9851F6FE4B51'
(Note: XXX.XX.XX.XX is a proper IP of DB, I have just masked it in the post)
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.
I enabled verbose logging for the snapshot agent for the subscriber, but there was no error there. It is obvious from the log info above that the error occurs only after downloading the snapshot to the client and during applying it to the subscriber by the merge agent.
After I got this error, I tried running the subscriber program again and it successfully replicated on the third attempt. But this behavior is not consistent and it fails for most of the time on some of the machines
I have the merge replication (Push)Â for SQL Server 2008.The right-click option for Start and Stop Synchronizing in subscriptions has been disabled. How can I stop the merge replication and start again ?
This error happened 1 week after I created the merge replication. The merge data cannot sync to subscriber and only solution I can use is drop and re-create the merge replication again but error would be re-occur a week later. The merge replication work fine before and start from middle on May 2015, but it keep happen right now.
We have a central office with a SQL2005SP4 server (yeah, I know... old as heck) that's the main database and it has multiple subscribers in regional offices. Well... one of the regional offices server is failing, and it needs to be replace.
The original server is an ancient Win2003 86x
The Server team will build a new Win2008r2 64x, and use the same name and IP address
And I'm tasked with the SQL part.
I'll be installing the same version/patch of SQL, but 64x instead, and migrate all databases, including the system databases.
How do I handle replication? Do I need to reintialize from scratch? or can I just use the backup as a starting point?
We are using a mix of SQL 2005 and 2000 servers and our "main" database server is running SQL 2005 x64 (SP2 ver. 3042).
Our system has run perfectly for months, then subsequent to an SP2 update we are seeing several instances where the data record counts are different for several tables among all the servers.
We are using Merge Replication, with no filters and published every 2 minutes.
These errors occur at the subscriber. First, "The merge process could not query the last sent and received generations" is generated, then immediately afterwards, "invalid cursor state" is generated. We are trying to pull a new subscription snapshot from the republisher. The subscriber has been added and removed from the replusher's pull subscriptions a number of times for testing. Now, we cannot get the subscriber to re-sync with the republisher.
I get the following error when trying to run a pull subscription from the subscriber:
The schema script '' could not be propagated to the subscriber. (Source: Merge Replication Provider (Agent); Error number: -2147201001) --------------------------------------------------------------------------------------------------------------- The process could not connect to FTP site 'ftp://ESOFTSERVER.NO-IP.INFO' using port 21. (Source: ESOFT (Agent); Error number: 0) --------------------------------------------------------------------------------------------------------------- The connection with the server was reset (Source: (OS); Error number: 12031) ---------------------------------------------------------------------------------------------------------------
I've tried everything I could to solve this problem, but I can't get it working.
We have a filtered publisher (SQL Server 2012) with several pull and push subscriptions that have been functioning fine for years.
We have just added a new pull subscriber from a remote server. We configured an alternate folder location on the subscriber (pointing to existing path on a remote server). We generated new snapshot and partitioned snapshot, and moved to subscribing server at alternate path.We're seeing a problem we've never seen before:
When the merge agent runs, it applies the schema and performs a few hundred bulk inserts, but then proceeds to 'download changes to subscriber' as though the snapshot is old (it is brand new and should have all transactions). We have never seen this before, i.e. all data is usually applied in bulk when creating a new or reinitializing an existing subscriber.
we marked the subscriber for re-initialization (from both the publishing and subscribing server) with a fresh set of snapshots. The same problem occurred.We have also tried in our test environment (which mirrors production) and the snapshot applies as expected (via bulk inserts).
(It might be relevant to note the publisher was recently upgraded in-place from 2005 to 2012.)
How to check if web merge sync is working between a subscriber and publisher thru HTTPS ? SQL port 1433 at subscriber is blocked so no direct connection to subscriber.
I would like to design a content-management feature on a website, in particularbe able to upload a binary file and to store it into a MS Sql Server DB.be able to download it afterwards. The sizes of the files are very limited (less than 100Kb) so I do not need any special feature to handle the upload/download.Does anyone know how to achieve such feature?Thanks in advance,Joannes
how do i upload and download images and files from database row?is there anyway i can upload images so that uploaded images ares saved in a listbox and at the same time in the IMAGES folderin the solution explorer as well so that i can later select an image fromlistbox and download it when needed? i m using c#,vwd2005 express,sql express.
I am an ASP.NET 2.0/SQL 2005 web developer, and I have run into a huge frustration for some time now that I can't seem to get past. My goal is to develop SQL databases for my costomers on my development machine, and then upload the completed database out to my host. I have not found a host that allows this yet. Some hosts do not allow remote SQL connections altogether, and the best hosts I have been able to find allow remote SQL connections, but do not allow SSIS or DTS packages to run to transfer database objects to the production server.
What does this mean? Well, I have to manually transfer or recreate individual stored procedures and recreate primary, foreign, and other table constraints. I cannot just run a DTS package to transfer the completed objects. So this means duplicating effort, changes for mistakes, and more server downtime during site upgrades. I have called so many host providers, and I haven't found one that can get me past this.
Also, I contacted Microsoft to ask about Licensing (thinking I would just lease a dedicated server), and the only option I can use is SPLA licensing. The catch, I have to lease the OS through SPLA as well, and all the hosts I have contacted put the OS on the server themselves. This means I would be paying for the OS twice.
Ideally, I would just love to find a shared web host package that I could use efficiently with my SQL development. Am I missing something? If anyone has any advice, please help! I would be so appreciative!!! Thanks.
My hosting gives me ASP.NET 2.0 and a shared SQL Server 2005 package. I have Visual Studio 2005 on my machine - which installs SQL Server 2005 Express. I have also installed SQL Server 2005 Management Studio Express. I wish to develop my database locally (mdf file) as I won't always have internet access (and therefore can't always work directly with the remote shared database). My question is, how do I upload my database info from my local machine to my remote shared database? Also I shall wish to download my remote database to my local machine in order to work on the database (and then be able to re-upload it) sometimes. Please can somebody tell me how I can do this? Will SQL Server 2005 Management Studio Express permit me to do this and if so how? If I need the full version of SQL Server 2005 Management Studio then I do have SQL Server 2005 and this install with it (but it all looks a bit complicated to install for me). Many thanks for all help given, Graham
I'm using merge replication to maintain a backup copy of my main (publisher)MSDE database. A push subscription periodically (1 per minute) updates the backup DB. It's intended that if the main db goes down then the backup (subscription) db can be configured as a publisher. This must all be performed via scripting. The initial configuration of the main publisher and subscription is controlled via scripting, which works fine. The problems occur when I try to configure the subsciber to become a publisher. A script is executed on the subscriber but fails at the point when it's configuring the publisher detail. The error is something like "unable to configure a publication for a database setup as an anonymous subscription". I'm guessing that there are subscritpion artifacts added to the database which need to be removed before it can be configured as a new publisher.
I have two SQL 2005 Standard servers using merge replication, and out of the blue started getting failure notices regarding "The merge process could not enumerate changes at the 'Subscriber'." I turned on verbose logging and noticed the following section:
2006-04-19 12:53:33.227 Category:NULL Source: Merge Replication Provider Number: -2147200999 Message: The merge process could not enumerate changes at the 'Subscriber'. When troubleshooting, restart the synchronization with verbose history logging and specify an output file to which to write. 2006-04-19 12:53:33.227 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. 2006-04-19 12:53:33.227 The merge process was unable to update last synchronization information at the Publisher.
Using Profiler on both sides, I don't see anything out the ordinary during the replication process until there are two calls in a row to the stored procedure sp_MSadd_merge_history90, where the second one is storing the error message listed above.
I've seen quite a few posts about this error message but so far no answers. I'm merge replicating between SQL Server 2005 SP2 and SQL Server 2005 Mobile. Everything seems to run really well until at some point I get the above error message while running the replication from the device. It seems to happen just after I've made a schema change on the server e.g. the latest one was adding some new columns (which allow nulls) to replicated tables.
I've switched on verbose logging and I get the following:
2007/04/27 13:57:06 Hr=00000000 Compression Level set to 1 2007/04/27 13:57:06 Hr=00000000 Count of active RSCBs = 0 2007/04/27 13:57:06 Thread=B04 RSCB=15 Command=OPWC Hr=00000000 Total Compressed bytes in = 846 2007/04/27 13:57:06 Thread=B04 RSCB=15 Command=OPWC Hr=00000000 Total Uncompressed bytes in = 1442 2007/04/27 13:57:06 Thread=B04 RSCB=15 Command=OPWC Hr=00000000 Responding to OpenWrite, total bytes = 846 2007/04/27 13:57:06 Thread=B04 RSCB=15 Command=OPWC Hr=00000000 C:Program FilesMicrosoft SQL Server 2005 Mobile Editionserverctmobilesql30.7AABD0FB7460_010309C7-9030-4CF9-7D60-A64608CD62F7 0 2007/04/27 13:57:06 Thread=E54 RSCB=15 Command=SYNC Hr=00000000 Synchronize prepped 0 <PARAMS RSCB="15" HostName="" Publisher="WINSERVER" PublisherNetwork="" PublisherAddress="" PublisherSecurityMode="1" PublisherLogin="" PublisherDatabase="CompacTimesheet_Staging" Publication="CompacTimesheet_Staging" ProfileName="DEFAULT" SubscriberServer="CTimeMobile - 7aabd0fb7460" SubscriberDatabasePath="Program FilesCompac TimesheetDataCompacTimesheetMobile.sdf" Distributor="WINSERVER" DistributorNetwork="" DistributorAddress="" DistributorSecurityMode="1" DistributorLogin="" ExchangeType="3" ValidationType="0" QueryTimeout="300" LoginTimeout="15" SnapshotTransferType="0" DistributorSessionId="452"/> 2007/04/27 13:57:06 Thread=E54 RSCB=15 Command=SYNC Hr=80045019 The merge process could not enumerate changes at the 'Subscriber'. When troubleshooting, restart the synchronization with verbose history logging and specify an output file to which to write. -2147200999 2007/04/27 13:57:06 Thread=E54 RSCB=15 Command=SYNC Hr=80045645 The process was successfully stopped. -2147199419 2007/04/27 13:57:06 Thread=E54 RSCB=15 Command=SCHK Hr=80004005 SyncCheck responding 0 2007/04/27 13:57:06 Thread=E54 RSCB=15 Command=SCHK Hr=00000000 Removing this RSCB 0
The error message doesn't seem very helpful. Is there another way to find out what is causing the problem? I've tried reinitializing all subscriptions and generating a new snapshot but it makes no difference. The only way I've found to fix this is to delete the database on the subscriber and synchronise again (losing all subscriber data since the last sync).
I have a merge (SQL 2005 Standard -> Express) topolgoy which is having problems
The main problem is that the join filters don't seem to work for one area and I am hoping someone can help me with some troubleshooting advice
There are 140+ tables in the topology but the ones causing particular pain are a parent child relationship where the child is actually a bridge/linking table to another table.
Therefore although it is a parent child in the replication filters it is the reverse. i.e. the child has the paramterised filter on it and the parent is one level down joined by it's id. There are other tables joined to this parent table but it stays at three levels deep. The @join_unique_key therefore is set to 0 as is the partition options for the parent /child relationship.
However, when we synchronise we have a problem. The rows get inserted in to the database in RI order but only the child records are replicated down to the subscriber.
The child table with the parameterised filter has 13 articles joined to it in total and one of the other branches of join filters go down as deep as four levels. Most though do not.
Does anyone have any suggestions as to why this might be happening? Any help would be greatly appreciated.
Cheers, James
P.S. I should add this problem only occurs when the edits are made at the publisher. If new records are added at the subscriber everything is fine.
Is there an option to monitor current state of Merge Push Subscription from the Subscriber, without connecting to the Publisher Server? I have examined many SPs and system tables at Subscriber, but didn't find any reliable method...
I am using merge replication with automatic identity range management
I want to be able to give a disconnected subscriber a warning message if a certain percentage of the allocated subscriber identity range has been used - so that they can make sure they reconnect soon to obtain a new identity range
I can get the current identity value OK, but I can't find a good way of finding the current permitted primary and secondary ranges
The information is available in the check constraint, but I don't really want to have to parse this!
CONSTRAINT [repl_identity_range_0DF907AC_40CF_4849_9BD0_2173C90A3805] CHECK NOT FOR REPLICATION (([ContactID]>(10000040000.) AND [ContactID]<=(10000050000.) OR [ContactID]>(10000050000.) AND [ContactID]<=(10000060000.)))
I can't find any system view which will provide this information
I hope anyone here can help me with this tough problem:
I have a replication enviroment with several subscribers. Publisher:MSSQL 2000, SP3 Subscribers: MSSQL200, SP3 and MSDE2000, SP3
Since a few weeks, one of the subscribers fails when synchronizing with the message "This process could not enumerate changes at the subscriber"
The erroroutput with verboselevel 3 doesn't help me much, I append it to the end of this posting. (unfortunately german)
I heard that this error can be caused by a "blank" in an image column or different Service Pack Versions - definitely not possible in this case! The only strange detail is that the SQL Server Versionnumber of this MSDE shown via EM is not the same as the number shown in controlpanel->software. By the way, is it ok that here are two lines for the MSDE? SP3 is definitely installed on all machines!
Any help would be greatly appreciated - i'm already losing hope... Best Regards, Gert
Microsoft SQL Server-Merge-Agent 7.00.623 Copyright (c) 1998 Microsoft Corporation
Percent Complete: 0 Verbindung mit Abonnent 'MyServerAT074' Connecting to Abonnent 'MyServerAT074.MyDB' MyServerAT074.MyDB: {call sp_MSgetversion } Percent Complete: 0 Verbindung mit Verteiler 'MyServer1s' Connecting to Verteiler 'MyServer1s.' MyServer1s.: {call sp_MSgetversion } MyServer1s.: {call sp_helpdistpublisher (N'MyServer1s') } MyServer1s.distribution: select datasource, srvid from master..sysservers where srvname = N'MyServer1s' MyServer1s.distribution: select datasource, srvid from master..sysservers where srvname = N'MyServerAT074' MyServer1s.distribution: {call sp_MShelp_merge_agentid (0, N'MyDB', N'MyDB', 9, N'MyDB')} Percent Complete: 0 Initialisiert MyServer1s.distribution: {call sp_MShelp_profile (19, 4, N'')} Percent Complete: 1 Verbindung mit Verleger 'MyServer1s' Connecting to Verleger 'MyServer1s.MyDB' Connecting to Verleger 'MyServer1s.MyDB' MyServer1s.MyDB: {call sp_MSgetversion } Percent Complete: 3 Ruft Publikationsinformationen ab Percent Complete: 4 Ruft Abonnementinformationen ab Connecting to Abonnent 'MyServerAT074.MyDB' Disconnecting from Abonnent 'MyServerAT074' Percent Complete: 4 Uploadet Datenänderungen zum Verleger Percent Complete: 5 Ruft die Liste der Löschungen von MyServer1s.MyDB ab Percent Complete: 5 Verarbeitet Artikel 'First'
...... SNIP .... Percent Complete: 5 Verarbeitet Artikel 'LastTable' Percent Complete: 0 Der Prozess konnte die Änderungen auf dem Abonnenten nicht aufzählen. Percent Complete: 0 Category:SQLSERVER Source: MyServerAT074 Number: 0 Message: Attributverletzung eingeschränkter Datentypen Attributverletzung eingeschränkter Datentypen Disconnecting from Abonnent 'MyServerAT074' Disconnecting from Verleger 'MyServer1s' Disconnecting from Verleger 'MyServer1s' Disconnecting from Verteiler 'MyServer1s'
I want to call a stored procedure to do the insert into my published arcticle/table. Is this possible? I know you can call a stored procedure to insert into the subscriber arctiles.
The problem is the published database has a generated primary key (max +1 )that is calculated via a stored procedure during all inserts. I would bring the stored procedure over to the subscriber but that would not help since the values in the target table will not be 'current' because the subscriber database is only updated nightly.
I am tring to use SQL Server Mobile 2005 to subscribe to a SQL Server 2005 publication from a pocketPC. In my code I have a SqlCeReplication object. One of the properties that must be set is: Subscriber, but I have no idea what that should be set to. When I was setting up the publication I don't remember specifying anything like that, and the class description of this property doesn't help: "Specifies the name of the Subscriber". Any help will be appreciated.
SQL Server 2005 Standard Edition act as publisher and distributor. All subscribers are SQL Server 2005 Express Edition. According to 2005 book online, "MSMerge_History table exists in distribution database". Howevey I found this table in Subscriber database which is in SQL Server 2005 Express Edition. The problem is this table (MSMerge_History) and other two tables (MSMerge_genhistory, MSRepl_errors) are quite large. We want to keep SQL Server 2005 Express database as small as possible so we can put more data into it. Is there anyway (Manually or automatically) to clean those tables in SQL Server 2005 Express? Please help.
I have tried backing up the replication from Primary Server (Publisher) A and copying over to Subscriber B. When I sync. I am missing the data. I don't know what step I am missing or it is bug on SQL 2K SP3.
I don't know what i am doing wrong.
Can anybody give me a step by step detail how to backup the publisher database and copy to a subscriber and sync by saying the schema and data already available. As we have WAN problem all the times, and when I try the full snapshot of 20 gig it was taking more than 24 hrs and also if the connection fails my snapshot also fails