Using REPLMERG For Web Synchronization Of Anonymous Pull Subscription
Mar 23, 2007
Hello,
I tried to use REPLMERG utility for Web synchronization and got the following error message in log file:
2007-03-23 14:35:10.484 The subscription to publication 'X' could not be verified. Ensure that all Merge Agent command line parameters are specified correctly and that the subscription is correctly configured. If the Publisher no longer has information about this subscription, drop and recreate the subscription.
The case description is as the following:
REPLMERG utility command line:
"C:Program FilesMicrosoft SQL Server90COMREPLMERG.EXE" -ExchangeType 3 -Publication X -
I'm trying to force an anonymous subscription to re-intialize on it's next sync attempt. I can do this from the subscriber no problems, and from the publisher using 'Re-initalize All Subscriptions', but I can't seem to re-intialize only a single subscription from the publisher.
To do this I'm trying to execute sp_reinitmergesubscription using the subscriber details found in the sysmergesubscriptions table. This executes ok and when the subscriber starts to sync it does try to re-initialize starting with generating a new snapshot, but after processing for a while it throws the following error messages:
Error messages: The merge process could not allocate memory for an operation; your system may be running low on virtual memory. Restart the Merge Agent. (Source: MSSQL_REPL, Error number: MSSQL_REPL-2147198720) Get help: http://help/MSSQL_REPL-2147198720 An error occurred while reading the .bcp data file for the 'CDP_TableDates' article. If the .bcp file is corrupt, you must regenerate the snapshot before initializing the Subscriber. (Source: MSSQL_REPL, Error number: MSSQL_REPL-2147199428) Get help: http://help/MSSQL_REPL-2147199428 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)
There doesn't appear to be any shortage of memory on the server. There is no problem regenerating the snapshot from the publisher, and there's no problem with syncing through the web using delta syncs or re-initializing from the subscriber, so I can't see any obvious cause from those error messages.
I'm using SQL Server 2005 SP2 on the publisher, and SQL ServerCE 3.1 on the subscriber.
I want to use window script program to execute a pull subscription installed on SQL 2005 express edition. Because it free for downloand. is there a script that can call an existing pull subscription execution.
i have one publisher with one pull subscription. when i make any change in publisher, that change is propegated to subscriber, but when i make any change in subscription, the change is not reflected. i have tried a lot of options but no one worked. please help me.
When doing a pull subscription where the schema is also replicated, the snapshot fails with the message " The process could not create the file [machine name]D$MSSQL7ReplDataunc[Publisher Name]DateTable Name.sch
There is an OS Error Code of 5 saying Acces is denied.
The file mentioned above is created, so perhaps it fails trying to create a file for the next table.
I have a problem creating a pull merge subscription on a server that's outside of our firewall. All standard ports are blocked so MS UNC connections are not possible which SQL 2000 uses by default when creating a subscription. Equally FTP is out = insecure.
I found a procedure to that said create the snapshot of the publication, create a backup of the published database, restore that backup to the remote server as a subscription db and then sync using merge. Didn't work, failed (several times).
Can anyone enlighten me as to what I'm doing wrong or indeed if I'm doing anything correctly!
I can create a remote desktop (Term Server) connection to the remote and another back to the publisher (from the subscriber's desktop) and both connections are using SSH tunnels. SQL Server uses a non standard port to communicate over the firewall. The remote server sits behind another firewall/router with port redirection to it's private address. Each server has the other registered and there are no comms problems and indeed there are other replicated dbs between them.
Both servers are win 2003 and the remote (subscriber) is R2 version, both with SQL 2000 Server Std patched up to SP3. (if this has any bearing on the solution which I presume there is)
Many thanks for listening and I hope a few of you can answer as well
Can anyone help with how to recreate a pull subscription replication job after I had to recreate the msdb database when it was marked as suspect. I still have the subscription but cannot seem to recreate a pull replication job
i am trying to create a pull subscription to my publication using T-SQL. The pull subcription is created successfully but the problem is that data is not merged correctly. I mean when i run the agent ( despite of having data in subscription / publication ) the data is not merged and i get "No Data Needed To Be Merged" message.
As I understand replication in Sql2K the only difference in push or pull subscriptions is where the agent runs. If I wanted changes in the publisher to be sent to the subscribers immediately after the change then I thought push would be better. But, if I am equally interested in changes made at the subscriber then what should I use? Or does the agent monitor both the publisher and subscriber at the same time?
I have setup a pull subscription on the subscriber for transactional replication. The distribution job continues to run, but doesn't do anything because it says: The initial snapshot for publication 'man4' is not yet available.
How can I tell if the snapshot is running, and can I see the snapshot where it was created?
I am trying to enable a replication process between a SQL 2005 server and sqlexpress instances and i run into the following problem.
On the publisher a subscription (sp_addmergesubscription) is added for each 'machine' that participates in the replication. Is there a way to get around this?
Because when we distribute the installation we dont know all the machine names. I have made the publication accesible for anynymous access. But when the replication script is installed on the client ,the Error message that the subscription does not exists appears.
The only difference between the instal script for the client is that we do not add a sp_addmergesubscription on the server. Is it possible to let SQL server make an subscription when the client connects for the first time?
To summarize my question: Is there a way to enable the replication with only running a script on the client and not on the server?
If i need to explain it more in detail , just let me know and ill try
Say we need to replicate between 2 databases using transactional replication
So we create a publication on the first server and initialse the publication agent so that it takes a snapshot and starts the log reader to capture the transactions being keyed into it.
Then say we create a pull subscription from the second database but lets say we assume we already have the data from thepublication database already in it so no need to app,ly a snapshot over it, when the pull subscription starts we assume that only transactions in the log reader that occured AFTER the pull subscription was started would be applied. Is this correct?
Then say we need to stop the pull subscription for a short period then start it again (let say so that we can take a back up of the subscriber database and restore the database somewhere else and replication set up between these 2 with no chance of data being althered before the restore had finished) can someone confirm when we start the pull subscription again all the transactions that occurred during the stopped period will be applied when it is started again OR will it be the case that only the transactions since the pull subscription was restarted will be applied
I am using RMO to synchronize an updateable transactional pull subscription from Sql Express SP2 to Sql Server 2005 64-bit Standard Edition. The data propogates from the server to the client, but changed data on the client does not replicate to the server. Any ideas?
SQL Server 2008 standard as the publisher SQL Server 2012 express as the subscriber
and I tend to use web synchronization; there is no domain trust.
After following the instructions at MSDN for configuring web synchronization, I have an error that I can't get past - after creating the initial snapshot on the publisher, I try to run replmerg.exe at the subscriber and I always get this error:
"The subscription to publication 'TestReplication' has expired or does not exist."
If I refresh the publisher's "Local Publications" and look within the "TestReplication", it does show that the subscriber is a known subscriber. Likewise, if I refresh subscriber's "Local Subscription", it has an entry for TestReplication publication.
I already verified that the user used by Replisapi.dll has the read permission to the snapshot folder, is a member of PAL, is db_owner of the publishing database and distribution database. I am using self-signed certificate for this test and I have already installed the certificate at the subscriber machine so that HTTPS is trusted. I can run diagnosis from subscriber so I know subscriber can reach and logs are being left at the publisher's IIS.
I've a merge rep running with 4 subscribers for a while. Now I wanted to add another subscriber and when I open the publisher in the pull subscription assistant dialog, there are no publications in it. (even not if i switch to "allow anonymous sub") But every- thing seems to be alright wirh the publication itself! It even doesn't work to select the publication in a pull subs. from an other db on the same server! Any ideas?
Can push and pull subscriptions be configured on the publisher/distributer server?
We have server A running SQL Server 2000 configured as Publisher/Distributor and also a Push subscription (transactional replication) to Server B configured as Subscriber.
The idea was to have Server B as backup server if Server A goes down. Users will continue to update data in server B till server A is up.
Once server A is up, I want to synchronise the up-to-minuit date from Server B to Server A in the form of Transactional replication configured as "Pull Subscription" from Server A.
I've been having an error when downloading the snapshot agent from our Publisher.
The articles selected are all the tables and all the stored procedures.
The Subscription is created programmatically and so is the synchronization. When trying to synchronize for the first time and when the subscriber tries to download the snapshot I have the following error:
Error messages: The schema script 'Distrito_2.sch' could not be propagated to the subscriber. (Source: MSSQL_REPL, Error number: MSSQL_REPL-2147201001) Get help: http://help/MSSQL_REPL-2147201001 The process could not read file 'GESZifuncAFRODITE$SILVITEST_GESZIF_GESZIF20070621182845Distrito_2.sch' due to OS error 3. (Source: MSSQL_REPL, Error number: MSSQL_REPL20143) Get help: http://help/MSSQL_REPL20143 The system cannot find the path specified. (Source: MSSQL_REPL, Error number: MSSQL_REPL3) Get help: http://help/MSSQL_REPL3
The snapshot folder is at c:GESZifSnapshotFolder and the unc is \AfroditeSnapshot.
I'm getting a little desperate with this because we really need to propagate the schema changes around the subscribers.
We have setup transactional replication between 2 databases on SQL Server 2000 SP3a (~70GB), using a concurrent snapshot (to prevent locking out of the live database) to initilaise the data and a pull subscription from the second database.
From analysing the msdistribution_history table in the distribution database on the subscriber it appears that the snapshot is being applied in a continuous loop to the subscriber database. Viewing the comments column in the msdistribution_history table we can see the following sequence of events occuring
Initialising Applied script 'snapshot.pre' Then it applies all the schema files .sch Then it applies all the index files .idx The it bulk copies the data in (bcp) Then it creates the Primary Keys Then it applies all the trigger files .trg Then it applies all the referential integrity files .dri
These all complete successfully but then the process kicks off again immediately after reapplying the snapshot. We are unaware of any settings that may be causing this.
Any help on what maybe causing this would be much appreciated.
OK, I'm having fun here. I have 3 anonymous subscribers using merge replication all, including the server, on SQL 2000 Server SP3a.
2 of the 3 subscribers crash during the merge process, a Dr Watson error log comes up saying that the replmerg.exe has died.
I have checked for orphaned processes of the same name to no avail. Just in case I made a mistake, I rebooted the server to ensure that any orhpaned processes were killed. No Joy.
On an existing Merge Pull Subscription (Subscriber: SQL Express) via websync how can we start replication via vb.net? We can use the cmd line replmerge.exe and all works fine however we would like this to be cleaner as it's going to be on demand sync. I saw in BOL about the RMO and how to create pubs/subs but nothing telling me how to actually start the replication process. Is there a sample of how to start the replication process in vb.net for websync? Thanks in advance.
How do you do! The Question of such plan There is server SQL Server 2005 Standard Edition and SQL Server Express, Between them is adjusted replication merge, on request pull, through web, on https. Podpischik in this instance SQL Server Express. So has here is noticed such particularity that when do synchronizing through Windows Synchronize manually, all pass fine, repeat same actions by means of being included in express utilities merge.exe? all ok. only when on publisher appears new articles, utility merge.exe refuses his(its) tighten appears the mistake: 2006-11-22 10:18:22.593 OLE DB Subscriber 'TERM0701SQLEXPRESS': sp_MSacquiresnapshotdeliverysessionlock2006-11-22 10:18:22.609 OLE DB Subscriber 'TERM0701SQLEXPRESS': sp_MStrypurgingoldsnapshotdeliveryprogress2006-11-22 10:18:22.625 OLE DB Subscriber 'TERM0701SQLEXPRESS': {call sys.sp_MSadd_merge_history90 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)}2006-11-22 10:18:22.656 Percent Complete: 02006-11-22 10:18:22.656 Snapshot will be applied from the alternate folder '\ReplSnapshotGAIuncREPL_TEST8_TEST820061122123965'2006-11-22 10:18:22.656 OLE DB Subscriber 'TERM0701SQLEXPRESS': sp_MSissnapshotitemapplied @snapshot_session_token = N'\replSnapshotGAIuncREPL_TEST8_TEST820061122123965', @snapshot_progress_token = N'\replSnapshotGAIuncREPL_TEST8_TEST820061122123965Table_2_21.sch'2006-11-22 10:18:29.468 OLE DB Subscriber 'TERM0701SQLEXPRESS': sp_MSreleasesnapshotdeliverysessionlock2006-11-22 10:18:29.484 The schema script 'Table_2_21.sch' could not be propagated to the subscriber.2006-11-22 10:18:29.500 OLE DB Subscriber 'TERM0701SQLEXPRESS': {call sys.sp_MSadd_merge_history90 (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)}2006-11-22 10:18:29.531 Percent Complete: 02006-11-22 10:18:29.531 The schema script 'Table_2_21.sch' could not be propagated to the subscriber.2006-11-22 10:18:29.531 Percent Complete: 02006-11-22 10:18:29.531 Category:NULLSource: Merge Replication ProviderNumber: -2147201001Message: The schema script 'Table_2_21.sch' could not be propagated to the subscriber.2006-11-22 10:18:29.546 Percent Complete: 02006-11-22 10:18:29.546 Category:AGENTSource: TERM0701SQLEXPRESSNumber: 20143Message: The process could not read file '\ReplSnapshotGAIuncREPL_TEST8_TEST820061122123965Table_2_21.sch' due to OS error 1326.2006-11-22 10:18:29.546 Disconnecting from OLE DB Subscriber 'TERM0701SQLEXPRESS'2006-11-22 10:18:29.546 Disconnecting from OLE DB Subscriber 'TERM0701SQLEXPRESS'2006-11-22 10:18:29.562 Disconnecting from OLE DB Subscriber 'TERM0701SQLEXPRESS'2006-11-22 10:18:29.562 Disconnecting from OLE DB Subscriber 'TERM0701SQLEXPRESS'
Then and there start Windows Synchronize with the same parameter and all ok! New Article unrolled hereon not changing adjustment start the utility merge.exe? and mistakes no, forms such impression that utility merge.exe tightens only changes to data, or I have wrong exposed all keys under her(its) start, example of my calling the utility: replmerg-Publisher Repl-PublisherDB Gai-Subscriber TERM0701SQLEXPRESS-SubscriberDB Gai-Publication ReplGAI-ValidateInterval 5-SubscriptionType 1-PublisherSecurityMode 0-PublisherLogin sa-PublisherPassword 111-SubscriberSecurityMode 0-SubscriberLogin sa-SubscriberPassword 111-SubscriberType 0-Distributor Repl -DistributorSecurityMode 0-DistributorLogin sa-DistributorPassword 111-FileTransferType 0-ExchangeType 3-AltSnapshotFolder \ReplSnapshotGAI-Output c:ErrorRepl.txt-LoginTimeout 30-InternetURL https://Repl/gai/replisapi.dll-InternetLogin ReplUserTerm -InternetPassword qwerty@123
that can be a mistake? rights on execution replication beside replmerg.exe and beside Windows Synchronize alike
I'm developing a Windows Mobile application, which is using RDA Pull for retrieving data from SQL Server 2005 database to PDA. Please, see the example:
Code Snippet
using (SqlCeEngine engine = new SqlCeEngine(connStr))
the sqlcesa30.dll cannot connect to SQL Server database.
In the sqlcesa30.log then I found following line:
Code Snippet
2007/04/17 10:43:31 Thread=1EE30 RSCB=16 Command=PULL Hr=80040E4D Login failed for user 'test'. 18456
The user 'test' is member of db_owner, db_datareader and public roles for the Demo database and in SQL Server Management Studio I'm able to login to the Demo database with using the 'test' users credentials and I'm able to run the select command on 'mytable'.
So, what's wrong? Why the sqlcesa30.dll process cannot login to the Demo database, and from another application with using the SAME connection string it works?
There is some strange behaviour i've recently noticed while watching synchronization progress in Replication Monitor on SQL 2005 Server Standard with merge replication configured. The merge process seems to repeat several times.
This is the initial synchronizaion (reinitalization at the subsciber). Client is using Microsoft.SQLServer.Replication objects from .net framework assemblies.
The synchronization starts normally (status is "Running"). The last message of selected session box shows (among other messages): "Beginning evaluating partial replication filters" then "Finished evaluating partial replication filters" and finally "Merge completed after processing xxx changes... etc." after a few seconds. Status changes to "Completed" and then... the merge process starts again!! "Beginning evaluating partial replication filters" etc. And this repeats about 15-20 times.
And so whole process takes about 15 minutes instead about 45 seconds to complete initial synchronization. The number of changes is "Merge completed after processing ..." never change since the first such message.
Is this some bug in web synchronization or some invalid configuration setting? Why does merge process repeat itself so many times??
I was reading though my logs and noticed I had three instances of an anonymous logon last night. The last anonymous logon was at approx midnight. This is prime hacking time.
Can anyone give me direction on issues or concerns with anonymous logons.
How do you set up a SQL server to allow anonymous access from a website? I am using asp for a web site and keep getting this error:
Error Type: Microsoft OLE DB Provider for ODBC Drivers (0x80040E4D) [Microsoft][ODBC SQL Server Driver][SQL Server]Login failed for user 'NT AUTHORITYANONYMOUS LOGON'
I am new to SQL server so any help no matter how obvious would be appreciated
We're getting a barrage of Windows Authenticated login attempts that are using the Anonymous login on one of our client's production servers. This smells to me of a service gone awry.
The login attempts originate from a server that is hosting some Quest Software applications, specifically their Performance Analysis tool. This machine has been well behaved until this morning, but it has been issuing around ten failed login attempts an hour.
The problem that it causing me pain at the moment is that the client has not renewed their Quest support yet because of a merger, so their contract recently expired. Does anyone have any insight into what might cause a normally well behaved app/server to go mildly berzerk exactly ten days after the support contract expires?