Merge replication- iniliaziation causes huge tranaction log growth at subscriber

  • I may have found it- in the distribution agent there are profile settings for "bcpbatchsize" "commitbatchsize" "commitbatchthreshold".... I bet these are used during snapshot generation and perhaps will impact the initalization... Will test again and report.

  • http://msdn.microsoft.com/en-us/library/microsoft.sqlserver.replication.snapshotgenerationagent.bcpbatchsize.aspx says:

    When performing a bcp in operation, the value of BcpBatchSize determines the number of rows to send to the server as one transaction, and also the number of rows that must be sent before the Distribution Agent logs a bcp progress message. When performing a bcp out operation, a fixed batch size of 1000 is used.

    Will cut that in half, generate a new snapshot and see what the result is... then will play with the rest.

  • You could add the indexes in after you are done initializing by putting them directly into the replicant database after data is loaded. We do that to speed up the process.

  • I'm assuming that the agent that you are referring to is the snapshot agent and not the distribution agent.

    Secondly you could get the data across outside of replication and then when you set up the subscription you could deselect the initialize checkbox (Initialize Subscriptions step). That will make it so that the snapshot does not get copied over and trusts that you will do that process on your own.

    Just a thought.

    David

    @SQLTentmaker

    “He is no fool who gives what he cannot keep to gain that which he cannot lose” - Jim Elliot

Viewing 4 posts - 16 through 18 (of 18 total)

You must be logged in to reply to this topic. Login to reply