FIX: The role synchronization process is delayed when a mirroring automatic failover occurs in SQL Server 2005, SQL Server 2008, or SQL Server 2008 R2

Article translations Article translations
Article ID: 983500 - View products that this article applies to.
Microsoft distributes Microsoft SQL Server 2005, Microsoft SQL Server 2008, or Microsoft SQL Server 2008 R2 fixes as one downloadable file. Because the fixes are cumulative, each new release contains all the hotfixes and all the security fixes that were included with the previous Microsoft SQL Server 2005, Microsoft SQL Server 2008, or Microsoft SQL Server 2008 R2 fix release.
Expand all | Collapse all

On This Page

SYMPTOMS

Consider the following scenario. You set up database mirroring between two Microsoft SQL Server 2005 or Microsoft SQL Server 2008 databases. Then, a automatic mirroring failover occurs. In this scenario, you notice the following issues:
  • The role synchronization is delayed.
  • The status of both databases is Principal.
Additionally, if you run a DML statement in the original principal database, you receive the following error message:

Msg 0, Level 11, State 0, Line 0
A severe error occurred on the current command. The results, if any, should be discarded.
Msg 0, Level 20, State 0, Line 0
A severe error occurred on the current command. The results, if any, should be discarded.

CAUSE

This issue occurs because the database restart task that occurs when the failover is being processed fails. This causes a delay in the role synchronization process.

RESOLUTION

Cumulative update information

SQL Server 2005

The fix for this issue was first released in Cumulative Update 10 for SQL Server 2005 Service Pack 3. For more information about this cumulative update package, click the following article number to view the article in the Microsoft Knowledge Base:
983329 Cumulative update package 10 for SQL Server 2005 Service Pack 3
Note 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:
960598 The SQL Server 2005 builds that were released after SQL Server 2005 Service Pack 3 was released
Microsoft SQL Server 2005 hotfixes are created for specific SQL Server service packs. You must apply a SQL Server 2005 Service Pack 3 hotfix to an installation of SQL Server 2005 Service Pack 3. By default, any hotfix that is provided in a SQL Server service pack is included in the next SQL Server service pack.

SQL Server 2008 Service Pack 1

The fix for this issue was first released in Cumulative Update 9 for SQL Server 2008 Service Pack 1. For more information about this cumulative update package, click the following article number to view the article in the Microsoft Knowledge Base:
2083921 cumulative update 9 for SQL Server 2008 Service Pack 1
Note 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 2008 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:
970365 The SQL Server 2008 builds that were released after SQL Server 2008 Service Pack 1 was released
Microsoft SQL Server 2008 hotfixes are created for specific SQL Server service packs. You must apply a SQL Server 2008 Service Pack 1 hotfix to an installation of SQL Server 2008 Service Pack 1. By default, any hotfix that is provided in a SQL Server service pack is included in the next SQL Server service pack.

SQL Server 2008 Service Pack 2

The fix for this issue was first released in Cumulative Update 1 for SQL Server 2008 Service Pack 2. For more information about this cumulative update package, click the following article number to view the article in the Microsoft Knowledge Base:
2289254 Cumulative update 1 for SQL Server 2008 Service Pack 2
Note 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 2008 fix release. We recommend 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:
2402659 The SQL Server 2008 builds that were released after SQL Server 2008 Service Pack 2 was released

SQL Server 2008 R2

The fix for this issue was first released in Cumulative Update 3. For more information about how to obtain this cumulative update package for SQL Server 2008 R2, click the following article number to view the article in the Microsoft Knowledge Base:
2261464 Cumulative update package 3 for SQL Server 2008 R2
Note 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 2008 R2 fix release. We recommend 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:
981356 The SQL Server 2008 R2 builds that were released after SQL Server 2008 R2 was released

MORE INFORMATION

This fix does not improve the performance role synchronization. This fix helps find obstructions in the database restart task by checking the SQL Server error log file.

The fix provides additional messages in the SQL Server ERRORLOG that will help determine the state of the role synchronization.

You can see messages of the following kinds after you apply the fix and enable trace flags 1439 and 3605:

Begin AutoFailover

Begin Request AutoFailover from witness

Restart packet waiting for DB lock for dbid <dbid>

AutoFailover Complete

To identify obstructions in the role synchronization, run the following query on the original principal instance:
select * from sys.dm_exec_requests 

where database_id = DB_ID('<mirrored database name>')
A session ID is displayed as blocked when the session tries to obtain a LCK_M_X lock on the mirrored database intermittently. The head blocker corresponds to the user transaction on the mirrored database.

To verify that the role synchronization process is complete, find the mirroring_role_sequence column value on the principal database and on the mirror database, and then check whether the column value on the new SQL Server principal instance is larger than the column value reported on the SQL Server mirror instanceserver instance. If this is the case, the role synchronization process is incomplete.

When the role synchronization is complete, run the following query to make sure that the role synchronization process is successful:
select database_id,mirroring_state_desc,mirroring_role_desc,mirroring_role_sequence from sys.database_mirroring
Note If the role synchronization is successful, the following conditions are true:
  • The mirroring_role_sequence column for the mirrored database on the SQL Server principal instance and SQL Server mirror instance should have the same value.
  • If run the query on the original principal instance, the mirroring_role_desc column should show that the role is iMirror for the mirrored database.
  • If run the query on the current principal instance, Additionally, the SQL Server principal instance should show that the mirroring_role_desc column value for the mirrored database row is Principal.

STATUS

Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section.

REFERENCES

For information about the Incremental Servicing Model for SQL Server, click the following article number to view the article in the Microsoft Knowledge Base:
935897 An Incremental Servicing Model is available from the SQL Server team to deliver hotfixes for reported problems
For more information about how to obtain SQL Server 2005 Service Pack 3, click the following article number to view the article in the Microsoft Knowledge Base:
913089 How to obtain the latest service pack for SQL Server 2005
For more information about new features and improvements in SQL Server 2005 Service Pack 3, visit the following Microsoft website:
http://go.microsoft.com/fwlink/?LinkId=131442
For more information about the naming schema for SQL Server updates, click the following article number to view the article in the Microsoft Knowledge Base:
822499 New naming schema for Microsoft SQL Server software update packages
For more information about software update terminology, click the following article number to view the article in the Microsoft Knowledge Base:
824684 Description of the standard terminology that is used to describe Microsoft software updates
For information about using DBCC TRACEON to enable specified trace flags, visit the following Microsoft website: 
http://msdn.microsoft.com/en-us/library/ms187329.aspx
For information about adding startup parameters, visit the following Microsoft website: 
http://msdn.microsoft.com/en-us/library/ms345416.aspx

Properties

Article ID: 983500 - Last Review: December 22, 2010 - Revision: 10.0
APPLIES TO
  • Microsoft SQL Server 2005 Service Pack 3, when used with:
    • Microsoft SQL Server 2005 Standard Edition
    • Microsoft SQL Server 2005 Standard X64 Edition
    • Microsoft SQL Server 2005 Standard Edition for Itanium-based Systems
    • Microsoft SQL Server 2005 Enterprise Edition
    • Microsoft SQL Server 2005 Enterprise Edition for Itanium-based Systems
    • Microsoft SQL Server 2005 Enterprise X64 Edition
    • Microsoft SQL Server 2005 Developer Edition
    • Microsoft SQL Server 2005 Workgroup Edition
  • Microsoft SQL Server 2008 Developer
  • Microsoft SQL Server 2008 Enterprise
  • Microsoft SQL Server 2008 Standard
  • Microsoft SQL Server 2008 Workgroup
  • Microsoft SQL Server 2008 R2 Developer
  • Microsoft SQL Server 2008 R2 Enterprise
  • Microsoft SQL Server 2008 R2 Standard
  • Microsoft SQL Server 2008 R2 Workgroup
Keywords: 
kbfix kbqfe kbexpertiseadvanced kbsurveynew kbhotfixserver KB983500

Give Feedback

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com