You have a transactional publication in Microsoft SQL Server 2005. The update on the subscribers may take longer time to complete than when you perform the same operation in Microsoft SQL Server 2000. This problem occurs if the following conditions are true:
- The transactional publication has immediate updating subscriptions enabled.
- You set the @identityrangemanagementoption option to auto when you run the sp_addarticle stored procedure.
Or, if you use SQL Server 2005 Management Studio to add articles for the transactional publication, you set the Automatically manage Identity ranges article property to Automatic.
This problem occurs because of behavior that occurs when the IDENTITY property is set on the published table schema. In this case, SQL Server 2005 does not cache the execution plan for the synchronization update stored procedure that is called by the subscriber at the publisher. For example, the stored procedure name that is called at the publisher server is sp_MSsync_upd_ACCOUNT_1
. SQL Server 2005 compiles the stored procedure for every row update on the subscriber. Therefore, the overall elapsed time for the update increases.
Cumulative update information
The fix for this issue was first released in Cumulative Update 2. For more information about how to obtain this cumulative update package for SQL Server 2005 Service Pack 2, click the following article number to view the article in the Microsoft Knowledge Base:
Cumulative update package 2 for SQL Server 2005 Service Pack 2
Because the builds are cumulative, each new fix release contains all the hotfixes and all the security fixes that were included with the previous SQL Server 2005 fix release. Microsoft recommends that you consider applying the most recent fix release that contains this hotfix. For more information, click the following article number to view the article in the Microsoft Knowledge Base:
The SQL Server 2005 builds that were released after SQL Server 2005 Service Pack 2 was released
Microsoft SQL Server 2005 hotfixes are created for specific SQL Server service packs. You must apply a SQL Server 2005 Service Pack 2 hotfix to an installation of SQL Server 2005 Service Pack 2. By default, any hotfix that is provided in a SQL Server service pack is included in the next SQL Server service pack.
To work around this problem, use one of the following methods:
- Avoid large single transaction updates on the subscribers.
- If you run the sp_addarticle stored procedure to add articles for a transactional publication, do not set the @identityrangemanagementoption option to auto.
If you use SQL Server 2005 Management Studio to add articles for a transactional publication, do not set the Automatically manage Identity ranges article property to Automatic.
Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section.