KB4018227 - FIX: A stored procedure may fail after an automatic failover occurs on a mirrored database in SQL Server

Applies To
SQL Server 2012 Enterprise SQL Server 2012 Developer SQL Server 2012 Enterprise Core SQL Server 2012 Standard SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Enterprise Core - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use) SQL Server 2014 Service Pack 2 - duplicate (do not use) SQL Server 2016 Developer - duplicate (do not use) SQL Server 2016 Enterprise - duplicate (do not use) SQL Server 2016 Enterprise Core - duplicate (do not use) SQL Server 2016 Standard - duplicate (do not use)

Symptoms

Assume that you use Microsoft SQL Server ted on a database by using high-safety mode with automatic failover.

If you modify the stored procedure definition, and then you run the stored procedure after an automatic failover occurs, you receive the following error message:

Note

  • Error: 2801, Severity: 16, State: 1
  • The definition of object 'stored_procedure_name' has changed since it was compiled.

Resolution

This issue is fixed in the following cumulative updates for SQL Server:

Cumulative Update 7 for SQL Server 2016 RTM

Cumulative Update 4 for SQL Server 2016 SP1

Cumulative Update 6 for SQL Server 2014 SP2

Cumulative Update 13 for SQL Server 2014 SP1

Cumulative Update 9 for SQL Server 2012 Service Pack 3

Recommendation: Install the latest cumulative update for SQL Server

Each new cumulative update for SQL Server contains all the hotfixes and all the security fixes that were included with the previous cumulative update. Check out the latest cumulative updates for SQL Server:

Latest cumulative update for SQL Server 2016

Latest cumulative update for SQL Server 2014

Latest cumulative update for SQL Server 2012 SP3

Status

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

References

Learn about the terminology that Microsoft uses to describe software updates.