When I create the publication (SQL 2000) I have to execute the following shell command to get the snapshot created:
Set @.cmd = 'c:\Progra~1\Micros~2\80\Com\snapshot -Publisher ' + @.DBServer + ' -PublisherDB ' + @.Database + ' -Publication ' + Cast(@.publication as varchar(100)) + ' -Distributor ' + @.DBServer + ' -DistributorLogin ' + @.DBUserName + ' -DistributorPassword ' + @.DBPassword + ' -ReplicationType 2'
EXEC master..xp_cmdshell @.cmd;
problem is the following:
Creating Snapshot took 14:24
Here's the log of the entire process:
Finding Publication took 0:09
About to Create Publication
Creating Publication took 0:13
About to Add Aritcles
Adding articles took 0:09
About to define filters
Defining filters took 0:11
About to Add Snapshot Agent
Adding snapshot agent took 0:01
About to Execute command to start snapshot agent
(339 row(s) affected)
Creating Snapshot took 14:24
My question is, is there a way to speed this up?
Look at the history tables to see if there's a breakdown to see where the time is being spent. If not there, then add the following parameters to the above: -HistoryVerboseLevel 2 -OutputVerboseLevel 3. This should generate more output as well as log more history in distribution.dbo.MSmerge_history.
At the same time, you didn't mention how big the snapshot is, or how fast/slow your disk subsystem is. That definitely coudl play a part in performrance.
No comments:
Post a Comment