Accelerator database upgrade fails with error 'changes on a database must be serialized'

book

Article ID: 100041641

calendar_today

Updated On:

Description

Error Message

Errors in the Enterprise Vault Event Logs on the Accelerator server

Log Name:      Symantec Enterprise Vault
Source:        Accelerator Manager
Event ID:      59
Level:         Error
Description:
APP ATM - Failed to update database. System.Data.SqlClient.SqlException: Backup, file manipulation operations (such as ALTER DATABASE ADD FILE) and encryption changes on a database must be serialized. Reissue the statement after the current backup or file manipulation operation is completed.
ALTER DATABASE statement failed.

Log Name:      Symantec Enterprise Vault
Source:        Accelerator Manager
Event ID:      64
Level:         Error
Description:
APP ATM - Error upgrading a Customer.
Install Thread - worker thread (1)
Customer ID: X
Number of tries: 1
Cause: Backup, file manipulation operations (such as ALTER DATABASE ADD FILE) and encryption changes on a database must be serialized. Reissue the statement after the current backup or file manipulation operation is completed.
ALTER DATABASE statement failed.

Error in a DTrace log of the AcceleratorService process on the Accelerator server

[XXXX] (AcceleratorManager)       EV-H    {-} Exception: Error Application_InstallQCustomerProblem1 Info:{AcceleratorEvent} {C} Error upgrading a Customer.|Install Thread - worker thread (1)|Customer ID: X|Number of tries: 1|Cause: Backup, file manipulation operations (such as ALTER DATABASE ADD FILE) and encryption changes on a database must be serialized. Reissue the statement after the current backup or file manipulation operation is completed.|ALTER DATABASE statement failed. Diag: Type:System.Exception ST: Inner:None

 

Cause

The error is logged when a backup or database file manipulation operation is performed on the database whilst another backup operation is currently in progress. Such operations can include:

- Attempting to run a second data backup operation when one is in progress. Only one data backup operation type (full, incremental, differential) can be run at a time on a database.
- Attempting to run a second log backup operation when one is in progress. Running a log backup concurrently with a full data backup is allowed.
- Attempting to ALTER the database to ADD or DROP data or log files when a backup is in progress.
- Attempting to shrink files when a backup is in progress.
- Attempting multiple recovery model changes when a backup is in progress.

Upgrading an Accelerator database may invoke ALTER DATABASE commands. Therefore, running an Accelerator upgrade concurrently with a SQL backup could result in the error.

To determine if any SQL backup jobs are in progress and to view recent backups, execute the following query on the SQL server (and instance, if applicable) against the database being upgraded. The first results pane will display any current SQL backup jobs, the second results pane will list any recent backups.

DECLARE @DBName sysname = db_name();
-- List any current backups
SELECT DB_NAME(sder.database_id) AS [DatabaseName]
, sder.session_id
, sder.command
, CONVERT(NUMERIC(6,2), sder.percent_complete) AS [Percent Complete]
, CONVERT(VARCHAR(20), DATEADD(ms, sder.estimated_completion_time, GetDate()), 20) AS [ETA Completion Time]
, CONVERT(NUMERIC(10,2), sder.total_elapsed_time/1000.0/60.0) AS [Elapsed Min]
, CONVERT(NUMERIC(10,2), sder.estimated_completion_time/1000.0/60.0) AS [ETA Min]
, CONVERT(NUMERIC(10,2), sder.estimated_completion_time/1000.0/60.0/60.0) AS [ETA Hours]
, CONVERT(VARCHAR(1000), (
SELECT SUBSTRING(text, sder.statement_start_offset/2,
CASE WHEN sder.statement_end_offset = -1 THEN 1000 ELSE (sder.statement_end_offset - sder.statement_start_offset)/2 END)
FROM sys.dm_exec_sql_text(sql_handle))) AS [SQL Command]
FROM sys.dm_exec_requests AS sder
WHERE command IN ('RESTORE DATABASE','BACKUP DATABASE')
AND DB_NAME(sder.database_id) = @DBName;
-- List recent backups
SELECT SERVERPROPERTY('ServerName') AS [SQL Server Name\Instance]
, mbs.Database_name AS [Database Name]
, CASE mbs.type WHEN 'D' THEN 'Database' WHEN 'L' THEN 'Log' END AS [Backup Type]
, mbs.backup_start_date AS [Last Backup Start Date]
, mbs.backup_finish_date AS [Last Backup End Date]
, CONVERT(decimal(18,3),(SUM(mbs.backup_size))/1024/1024/1024) AS [Backup Size (GB)]
, ISNULL(mbmf.logical_device_name, 'N/A') AS [Logical Device Name]
, mbmf.physical_device_name AS [Physical Device Name]
FROM msdb.dbo.backupmediafamily AS mbmf
INNER JOIN msdb.dbo.backupset AS mbs ON mbmf.media_set_id = mbs.media_set_id
WHERE mbs.Database_name = @DBName AND CONVERT(datetime, mbs.backup_start_date, 102) >= GETDATE() - 30
GROUP BY mbs.Database_name, mbs.type, mbs.backup_start_date, mbs.backup_finish_date, mbmf.logical_device_name, mbmf.physical_device_name, mbs.user_name
ORDER BY mbs.backup_start_date;

 

Resolution

1. Stop or cancel the Accelerator upgrade.
2. Either allow the current backup operation to complete or cancel the backup operation. After canceling the backup operation, it is recommended to take the database offline then bring the database back online to verify all operations/connections have completed.
3. Re-try the upgrade (with no backup operations running).

Reference:
SQL Server generates a 3023 message when backup and file operations are tried at the same time

 

Issue/Introduction

Upgrading an Enterprise Vault (EV) Compliance Accelerator (CA) or Discovery Accelerator (DA) Configuration, Customer or Custodian Manager database fails with the error below.