How Can I Get The BCP's To Run On The Distributor?
Mar 23, 2007
After extensive testing I have found that bcp's run almost twice as fast on my dedicated Distributor than on either the Publisher or Subscriber. I was wondering if there is a way to make the bcp's spawned by creating a Snapshot run on the distributor and not the Publisher.
1 SERVERNAME SQL Server 2000 - 8.00.818 (Intel X86) May 31 2003 16:08:15 Enterprise Edition on Windows NT 5.0 (Build 2195: Service Pack 4)
1 SERVERNAMEINSTANCE SQL Server 2000 - 8.00.2039 (Intel X86) May 3 2005 23:18:38 Desktop Engine on Windows NT 5.0 (Build 2195: Service Pack 4)
IIS 5.0
SQL Server CE 2.0 (sp3a)
Merge replication previously working fine. The problem
After migrating MSDE from sp3a to sp4 (in order to fix CE replication bug) I can't sync to MSDE. I got the following error code: [29045]->[Initializing SQL Server Reconciler has failed.] so I've looked into SQL Server CE log file and I've found the following error message:
2006/02/07 19:44:23 Thread=9A8 RSCB=4 Command=SYNC Hr=00000000 The process could not connect to Distributor 'Distributor-name'. 20084
2006/02/07 19:44:23 Thread=9A8 RSCB=4 Command=SYNC Hr=00000000 Data source name not found and no default driver specified
I've already tried without success
Uninstalling all SQL Server 2000 (EE) instances (except for the "no instance") Unistalling and re-install MSDE (sp4) Re-registering sscerp20.dll. Rebooting server. Restarting IIS.
I was wondering if you could set up multiple distributors for one database?For example:Server A needs to publish data to server B so I set up server A's distributor as server B. Later Server A needs to publish data to server C so I want to set up the distributor for this replication to use server C.I don't think this is possible as you need to set up the distributor for the entire DB when its created not for each individual replication job.Any help is appreciated.Nick
I am having problem creating a distributor on my sever, when i do it thru the enterprise manager it defaults to another sever's path and when i put the severs path it dosen't find it. and when i do it thru query analzer this is what i get
Server: Msg 6, Level 16, State 1, Procedure sp_adddistributor, Line 147 Specified SQL server not found. Remote logins for remote server 'repl_distributor' have been dropped. Server dropped. Server added. Server network name set.
and for this it is going to another server sp_adddistributor @distributor = '158.72.80.48' ,@heartbeat_interval = 10 , @password = 'grants831' -- , @from_scripting = from_scripting
error message
Server: Msg 18482, Level 14, State 1, Procedure sp_adddistributor, Line 147 Could not connect to server 'GEMS' because 'vivian' is not defined as a remote server. Remote logins for remote server 'repl_distributor' have been dropped. Server dropped. Server added. Server network name set.
Completed SQL 2000 Transactional Replication from distributor/publisher to Subscriber. (with identity problem solved)
NOW wizard disallows set up subscriber to publish back to the Distributor/Publisher. "Distributor not known" message on Subscriber server when we open configure Publisher-Subscriber tool.
Any experience using this wizard to set this up would be appreciated.
For remote distributor (transactional replication,distribution database 50GB, 3 day retention), what is the most critical resource except disk ? Is it CPU intensive ? does it use lots of memory (i.e. would 4GB be enough) ?
Hello, I have 3 servers sql 7 sp3, 1 editor, a distributor and an subscriber. the base on the editor is removed, how to make to remove all traces of replication on the distributor and the subscriber. thank you. Pascal
I'm having a problem configuring one of my SQL servers as a distributor. I've done it successfully on another server, so I know that it's nothing procedural and there must be an issue with the way the server is set up. When I click 'finish' on the Configure Publication and Distribution Wizard, I get the following error message:
Enterprise Manager could not configure 'ABEL' as the distributor for 'ABEL'.
Error 20017: Cannot add the remote distributor at this time. Make sure that the local server is configured as a Distribution Publisher at the Distributor.
Can anyone point me in the right direction? I'm fairly new to SQL Server, so feel free to explain things in a condescending manner. ;-)
I'm reading the MS online docs about replication. there's something not so clear until so far.
I have one central server and 7 client servers. Sometimes new data is entered at one client server. This should be replicated (when client comes online) to the Central Server (merge replication).
Also, the other way, once the central server gets new data (that was replicated from a client), it should be again replicated to all 6 other clients (from the central server).
now, who should i configure as the distributor, publisher and subscriber?
Hi this is SQL 2000 but I couldn't see a forum for SQL 2000 replication.
I have set up merge replication. Between a server and an msde laptop.
The sync works fine within the network but when the user goes home and vpn's into the network and tries to replicate they get an error message that says:
"...server is not configured as a distributor" I find this strange because the replication definitely works within the network.
I have publisher and distributor, both on SQL 2005. I need to re configure replication. When I try to create publisher, the wizard gives me an option to give password to connect to Distributor. Even after resetting this password on the distributor server, publisher still gives me the following error.
SQL Server could not connect to the Distributor with the specified password. SQL Server Error 21670.
Hello,I'm trying to set up transactional replication on two SQL2k Servers.Unfortunately I stuck on the following problem:I use 'Configure Publishing and Distribution Wizard' , I make one of theservers (publisher) its own distributor, then I set all the paths .Afterpressing 'Finish' button, the wizard tries to perform next step i.e.'Configuring Distributor' and I get the error:"Error 14114: '(null)' is not configured as a Distributor". Does anyone haveidea what I should do in order to solve the problem?I tried to run procedures manually, and I get exactly the same error when Itry to execute sp_adddistributondbThanks,Piotrek
I am trying to "Configure Distributor" prior to setting up the publications. When I go through the wizard, at the very last step I get the following error:
An exception occurred while executing a Transact-SQL statement or batch. (Microsoft.SqlServer.ConnectionInfo)
------------------------------
Cannot find the principal 'sa', because it does not exist or you do not have permission. 'distribution' is not configured as a distribution database. Changed database context to 'master'. (Microsoft SQL Server, Error: 15151)
i am creating the Merge Replication between two server(both SQLServer-2005, on XP).
Server names are as
1. HB5B
2. VSNET1
i) On server HB5B, i had created the Publication with name 'hb_pub'.
(publisher & Distributer on HB5B server)
ii) On server VSNET1, i had created the Pull Subscription, for the publication name hb_pub( form the server HB5B), this starts fine.
iii) When i went to Viwe Synchroniztion status, it says
The process could not connect to Distributor 'HB5B'
iv) i too check the Distributor properties, its seems fine for me.
v) On server VSNET1, if creats the Push Subscription, for the publication name hb_pub( form the server HB5B), this starts fine.
vi) When i went to Viwe Synchroniztion status, it says
The server 'VSNET1' is not a Subscriber. (.Net SqlClient Data Provider)
vii) if i try again the Start button on the Viwe Synchroniztion status, it says the job is already running (with job name), Change the database context to 'HBmyDB' ( this is my database name).
the check list i made is
i) I had log on as service(SQL Server Agent (MSSQLSERVER) & SQL Server (MSSQLSERVER) ) as Administrator at server VSNET1(i mean it had the administrative right) & restarted them.
ii) I do have the administrative rights on the both of the machines.
I have a small problem, I get this following error when trying to start the snapshot agent "The process could not connect to the distributor 'distributor name'. NOTE: The step was retried the requested number of times [10] without succeeding. The step failed.
I thought it was related to users or rights but i am using the same user than in previous replication with the server and the rights haven't been altered. I don't know if someone has some knowledge of what to do or a workaround solution, any help would be greatly appreciated.
I created a publication for a single table. Then I created the subscription to another 2005 server. Had to add it as a subscriber in the wizard. Told it to do the snapshot right away.
Everything seems fine right up to the point where it tries to connect to the subscriber... I get a cannot connect error. I have tried all kinds of security context and accounts for the sql agent to run under but nothing seems to work. I cannot even get a linked server to work. I have the subscriber setup to accept remote connections.
I am not sure where to look at next... I never had this issue in 2000.
What is the minimum SQL Server version I can use on my replication distributor server? My publisher and subscriber(s) will all be Enterprise Edition (64 bit). However, it seems awefully wasteful to put Enterprise Edition on a box that is just used for distribution. That's another $15K for a server that doesn't do much. Can I use a lower version (Express, Developer, Standard)?
I AM TRYING TO SET UP A DISTRIBUTOR ON SQL SERVER 2005.
THE LAST STEP WHEN I AM TRING TO CONNECT I GET THE ERROR BELOW:
“ORACLE SERVER INSTANCE 'FOOBAR' CANNOT BE ENABLED AS A PUBLISHER BECAUSE OF THE FOLLOWING ERROR:
ADDITIONAL INFORMATION: UNABLE TO RUN SQL*PLUS. MAKE CERTAIN THAT A CURRENT VERSION OF THE ORACLE CLIENT CODE IS INSTALLED AT THE DISTRIBUTOR. FOR ADDITIONAL INFORMATION, SEE SQL SERVER ERROR 21617 IN TROUBLESHOOTING ORACLE PUBLISHERS IN SQL SERVER BOOKS ONLINE. (MICROSOFT SQL SERVER, ERROR: 21617)�
RESEARCHING THE ERROR IT STATES TO MAKE SURE SQLPLUS IS SET UP CORRECTLY IN THE PATH. THE PATH IS CORRECT. TESTING SQL PLUS IT WORKS; AND I CAN ALSO CONNECT TO THE ORACLE DB IN BUSINESS INTELLIGENCE.
Can the Snapshot be copied from the distributor to the subscriber and then from the subscriber using the copied snapshot, create a subscription to the publisher?
I am wondering is distributor admin account a sql authentication account? How can i use this account to connect to distributor if distributor is on the different server with publisher?
I am working on setting up our new SQL Server 2005 servers. One ofthem will eventually be our Replication Distributor. However when Iattempt to set this up within the wizard, I get the following error:------------------------------TITLE: New Publication Wizard------------------------------SQL Server could not configure 'ServerInstance' as a Distributor.------------------------------ADDITIONAL INFORMATION:Property LoginSecure cannot be changed or read after a connectionstring has been set. (Microsoft.SqlServer.ConnectionInfo)------------------------------BUTTONS: OK------------------------------In the "Specify the Domain or Machine account under which the Snap ShotAgent will run" page, I designate a Windows Auth. domain user; The sameuser that is used to start SQL Service. Any idea as to why I amgetting this error?
Hey guys. I am creating an app that uses the RMO Merge Replication objects. So far it can subscribe and unsubscribe just fine but when it comes to the syncing process it gets a little weird, here's why.
- If I run the SQL GUI Sync tool, it sinks fine. So that setup is working.
- When I run the C# App it blows up witht the error: "Process cannot connect to Distributor"
- Here's the weird part: When I set a breakpoint on my custom method SyncData (this method sets up the connection info and properties and then calls Syncronize( ) ) and step through the code when it gets to Syncronize( ) it runs perfectly fine, no execeptions.
I thought that maybe the Syncronize( ) method was being called too fast before the connection properties got to fully setup and connect, so I added a Thread.Sleep( ) method for 10 secs after each connection call and just before calling Syncronize( ). It still didn't work. My class is a static class by design, however, I changed it into an ordinary class and then placed the connection info in the constructor hoping it would do it's connection when the object gets initialized, that didn't work either.
If someone could please help me out with this I would greatly appreciate it.
Here's my code:
using System;using System.Collections.Generic;using System.Text;using Microsoft.SqlServer.Replication;using Microsoft.SqlServer.Replication.BusinessLogicSupport;using Microsoft.SqlServer.Management.Common;using System.Windows.Forms;using System.Threading;namespace Emds.Briefcase.BriefcaseSubscriber.BLL{ public class SyncDataClass { #region Members private static string m_statusMessage = string.Empty; private static byte m_percentComplete; public delegate void StatusTextChangeHandler(int percent, string status); public static event StatusTextChangeHandler OnStatusChange; #endregion Members #region Methods public static string SyncData() { //Delay(); // Define the server, publication, and database names. string publicationName = "Chart"; string publisherName = @"JSMITHSQL2005"; string subscriberName = @"JDOESQL2005"; string subscriptionDbName = "DataSubscriber"; string publicationDbName = "DataPublisher"; string message = string.Empty; // Create a connection to the Subscriber. ServerConnection conn = new ServerConnection(subscriberName); MergePullSubscription subscription; try { // Connect to the Subscriber. conn.Connect(); // Delay(); // Define the pull subscription. subscription = new MergePullSubscription(); subscription.ConnectionContext = conn; //Delay(); subscription.DistributorSecurity.WindowsAuthentication = false; subscription.DistributorSecurity.SqlStandardLogin = "sa"; subscription.DistributorSecurity.SqlStandardPassword = "russell"; // Delay(); subscription.PublisherName = publisherName; subscription.PublicationDBName = publicationDbName; subscription.PublicationName = publicationName; subscription.PublisherSecurity.SecurityMode = ReplicationSecurityMode.SqlStandard; subscription.PublisherSecurity.SqlStandardLogin = "sa"; subscription.PublisherSecurity.SqlStandardPassword = "russell"; // Delay(); subscription.DatabaseName = subscriptionDbName; subscription.SubscriberSecurity.WindowsAuthentication = false; subscription.SubscriberSecurity.SqlStandardLogin = "sa"; subscription.SubscriberSecurity.SqlStandardPassword = "russell"; // Delay(); // If the pull subscription exists, then start the synchronization. if (subscription.LoadProperties()) { // Check that we have enough metadata to start the agent. if (subscription.PublisherSecurity != null || subscription.DistributorSecurity != null) { // Synchronously start the Merge Agent for the subscription. subscription.SynchronizationAgent.Status += new AgentCore.StatusEventHandler(SynchronizationAgent_Status); // Delay(); subscription.SynchronizationAgent.Synchronize(); message = "Data Syncronization is a success!"; } else { throw new ApplicationException("There is insufficent metadata to " + "synchronize the subscription. Recreate the subscription with " + "the agent job or supply the required agent properties at run time."); } } else { // Do something here if the pull subscription does not exist. throw new ApplicationException(String.Format( "A subscription to '{0}' does not exist on {1}", publicationName, subscriberName)); } } catch (Exception ex) { // Implement appropriate error handling here. throw new ApplicationException("The subscription could not be " + "synchronized. Verify that the subscription has " + "been defined correctly.", ex); } finally { conn.Disconnect(); } return message; } static void SynchronizationAgent_Status(object sender, StatusEventArgs e) { m_percentComplete = e.PercentCompleted; m_statusMessage = e.Message; //Fire custom event if (OnStatusChange != null) { OnStatusChange(m_percentComplete, m_statusMessage); } } #endregion Methods }}
Property LoginSecure cannot be changed or read after a connection string has been set. (Microsoft.SqlServer.ConnectionInfo)
I have had a good look through the forums and have found several ideas about permissions on the DATA folder to no avail. I have also not changed the sa user it is still sa. Unfortunaley all the things I have found haven't worked. Have you got any ideas?
Server A houses the Production DB which services an OLTP system. Transactional replication is configured on this server which has two subscribers - on two separate servers (servers B and C). The Distribution database currently resides on Server A (which is also the Publisher).
Server B is on the same LAN as Server A (on the same rack). I'm considering moving the Distribution database from Server A to Server B to offload some of the processing overhead from Server A.
Are there any gotchas/performance problems associated with having the Distribution database (remote distributor) and the Subscriber on the same server (server B) in a transaction replication topology?
Please advise or point me to the appropriate documentation - I haven't found anything that addresses this specific question...thanks in advance,
Sorry for the odd format but that is what happens when you paste here! This is data from our Job History for a "Replication Distributor" Job Step Type. Here is how I interprete it: The job step started on the 19th. It restarted itself twice on the 20th. Then it restarted itself twice on the 21st. Then it restarted itself 3 times on the 22nd. And finally it restarted itself on the 23rd. Notice the progression of Retries_Attempted. When Retries_Attempted exceeds 10, the step will fail and the service will shut-down, which is what I have seen in the past. I conclude the Advanced Settings of Retry Attempts is not per "Event" but "total tries no matter how many successful retries are encountered." I thought a successful retry would reset the Retries_Attempted. But it does not. Is this correct? This implies that to keep the distributor up, we should set the Retry Attempts" setting to its max!
Status Run_Date Run_Time Run_Duration Retries_attempted
I'm trying to set up merge replication between SqlServer 2000 and SqlMobile 2005. When I create the publication, I select merge replication for SqlServer CE. When I view the status of the snapshot agent, the error message is "the process could not connect to Distributor. The step failed".
I've verified both SqlServer and SqlServer Agent are running under the same domain account (with admin access to the server). This domain account has full access to the snapshot shared folder. I've also run "exec sp_helpserver", which gives me the server name for both the name and network_name fields where id=0.
I'm able to successfully set up merge replication between SqlServer 2005 and SqlMobile 2005, but my production servers are sql 2000.
Both pcs are connected to each other via the internet as i am using Aliases ,they can both access and see each other using SQL Auth.
I want to implement Merge Replication to Synchronize TestDB ,
I have NO DOMAIN connnecting them.
I Created a new publication ,under security i asked the agent to use the Sa account to connect
When launching the rep monitor i get the following error:
"Replication Monitor could not connect to Distributor 'laptop'."
"Login failed for user ''. The user is not associated with a trusted SQL Server connection. (.Net SqlClient Data Provider)"
Both Publisher and Distributer are on my Laptop ,why cant they connect to each other?
Another Question : could i implement Traditional Merge replication to synchronize my DBs or do i need to configure Web Synch in Merge rep to enable connecting via the internet?!
I have to move our dedicated Sql 2000 transactional distributor to a new and faster machine. Great! Can someone give me or point me to a cookbook of the best way to do this? This has to be done quickly so I would like to script it and have it ready ahead of time. I am not a replication guru so I am a bit nervous . . . I have looked at the scripts output by EM, but I am sure there are some assumptions . .