DBA > Interview Resource

Replication FAQ (MS SQL Server 7.0 Enterprise Manager)

Part:   1  2  3  4  5  6  7  8  9 

(Continued from previous part...)

Multiple users are not able to run the replication ActiveX control based programs simultaneously to synchronize Jet 4.0 databases. The program is throwing out the following errors:
21 036: Another merge agent for the subscription(s) is running.
Does this mean multiple users can not do synchronization simultaneously?

No, you should be able to run the program from multiple workstations simultaneously.
You are seeing this error, because in all your programs you are using the same ‘Subscriber Database’ name. So, before distributing your application to all your users, make sure you set the .SubscriberDatabase property to a different name in all your programs.

Unable to start distribution agent. It is failing with the following error:
21036: Another distribution agent for the subscription(s) is running.
But nothing is getting replicated. Stopping and starting SQL Agent didn’t help.

Sometimes it is possible that an orphan process could be running with the same name as the distribution agent, and restarting SQL Agent may not terminate it. This will prevent the user from starting the distribution agent.

You can verify this orphan process by querying sysprocesses. Under Replication Monitor, Agents, Distribution Agents, right click on the distribution agent select Agent Properties. From the properties dialog box, copy the name of the distribution agent and execute the following query.

select * from master..sysprocesses where program_name = ‘Name_of_the_agent’

From the output verify the waittype.

If you restart the SQL Server, this problem will be solved. If you can not restart SQL Server, then copy the spid of the distribution agent from the above agent and kill it using the Kill command.
Eg: Kill 21


A non-dbo owned table when merge replicated to the subscriber, is being owned by dbo. Is there a way to maintain table ownership in merge replication?

GUI permits to specify a destination table owner in case of transactional and snapshot publications. Through GUI we can not specify the destination table owner in case of merge replication.

Here is a workaround:

Create the preferred login and user on the subscribing SQL Server.

Before the merge agent runs for the first time, right click on the merge agent, select ‘Agent properties’. Go to ‘Steps’ tab. Double click on the ‘Run Agent’ step. In this dialog box you will see a ‘Command’ text box. Append the following to the command string.

-SubscriberLogin Destination_owner_name –SubscriberPassword Password –SubscriberSecurityMode 0

Run the merge agent. This should create the destination tables with the specified user as the owner.

When an UPDATE on the publisher gets replicated as a DELETE/INSERT pair instead of direct UPDATE?

An UPDATE gets replicated as a DELETE/INSERT pair when a user updates:

- any column which is a part of the primary key
- any column on which there is a filter clause
- any column on which there is a clustered index.


Unable to specify a remote distributor for a Desktop/MSDE publisher. Why?

For Desktop edition or Microsoft Data Engine, we can not specify a remote distributor. This is a restriction imposed on these editions of SQL Server.

(Continued on next part...)

Part:   1  2  3  4  5  6  7  8  9