FIX: Error when you back up a database that has case-sensitive collation by using VSS in SQL Server 2012 SP2

Applies to: SQL Server 2012 DeveloperSQL Server 2012 EnterpriseSQL Server 2012 Standard

Symptoms


Assume that you have a database that has a case-sensitive collation in Microsoft SQL Server 2012 Service Pack 2 (SP2). When you try to back up AlwaysOn secondary databases by using Volume Shadow Copy Service (VSS), you may receive the following messages in the Windows Application log:
(VSS Source)
Source: VSS
EventID: 8229
EventType: 2
DateTime: 9-7-2014 14:22:46.000
Timestamp: 0x01cf9b707d6d6f00
Description:
A VSS writer has rejected an event with error 0x800423f4, The writer experienced a non-transient error.  If the backup process is retried,
the error is likely to reoccur.
. Changes that the writer made to the writer components while handling the event will not be available to the requester.
Check the event log for related events from the application hosting the VSS writer.
(From SQLVDI)
 SQLVDI: Loc=SignalAbort. Desc=Client initiates abort. ErrorCode=(0). Process=1584. Thread=7244. Client. Instance=. VD=Global\{6483442C-256E-4F85-85C4-E5A611ED9A88}1_SQLVDIMemoryName_0.

SQLVDI: Loc=TriggerAbort. Desc=invoked. ErrorCode=(0). Process=1940. Thread=1824. Server. Instance=MSSQLSERVER. VD=Global\{6483442C-256E-4F85-85C4-E5A611ED9A88}1_SQLVDIMemoryName_0.
You also receive the following messages in the SQL Server ERRORLOG:
<Date> <Time> Backup Error: 3041, Severity: 16, State: 1. 
<Date> <Time> Backup BACKUP failed to complete the command BACKUP DATABASE model. Check the backup application log for detailed messages. 
<Date> <Time> spid<ID> Error: 18210, Severity: 16, State: 1. 
<Date> <Time> spid<ID> BackupVirtualDeviceFile::PrepareToFreeze: failure on backup device '{4E35DA4A-BAF7-4EC2-8421-EA7A3C0B7B31}1'. Operating system error 995(The I/O operation has been aborted because of either a thread exit or an application request.).
Additionally, if you take a Profiler trace during running the VSS backup, when you run the following query: 
SELECT 1 FROM SYS.AVAILABILITY_REPLICAS AS AR INNER JOIN SYS.DATABASES AS D ON DB_ID(N'TargetDatabase') = D.DATABASE_ID AND AR.REPLICA_ID = D.REPLICA_ID INNER JOIN SYS.DM_HADR_AVAILABILITY_REPLICA_STATES ST ON AR.REPLICA_ID = ST.REPLICA_ID AND ST.ROLE = 2
It fails, and you receive the following error message:
Error:208, Severity:16, State:1
Invalid object name 'SYS.AVAILABILITY_REPLICAS'.

Resolution


The issue was first fixed in the following cumulative update of SQL Server.

Cumulative Update 2 for SQL Server 2012 SP2



Notes for this update

If you apply this update to one of the localized versions of SQL Server such as Japanese version of SQL Server, you have to follow these additional steps to install SQL Server VSS Writer update:
  • Run SQLServer2012-KB2983175-x64.exe to install cumulative update 2 for SQL Server 2012 SP2.
  • Extract the package by using the following command line:

    SQLServer2012-KB2983175-x64.exe /X:<target folder>
  • Prepare the original installation media.
  • Execute the following command to apply SQL Server VSS Writer related update:

    msiexec /i <path to sqlwriter.msi file in the original installation media> /l*v<setup log file name> PATCH=<sqlwriter.msp file in the folder created in step 1>

    For example:
    msiexec /i "D:\1041_JPN_LP\x64\Setup\x64\SqlWriter.msi" /l*v C:\Temp\sqlwriter.log PATCH="C:\SQL2012SP2CU2\1033_enu_lp\x64\setup\x64\sqlwriter.msp"

Status


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