First of all sorry for my bad english. I want to share my experience to avoid someone of you to spend many days in debugging, troubleshooting, reading tech docs, many coffes and cigarettes and headaches.
The story: our company acquire one little company with one ESXi host V.6.0 without a professional/business backup.
We have enought VUL and corporate IT manager asks my team to add this new host into corporate Veeam Backup & Replication 10.0.0.4461 enviroment. Seems so simple. There is only 1 VM: Windows 2012 R2 AD DC with installed Microsoft SQL 2008R2 one instance with 3 tiny db (sum is less than 2 GB).
I started creating in the ESXi host a second VM Windows 2012 R2 for hosting Veeam services then add to the backup infrastructure: Esxi host, the new VM as backup proxy and one existing little NAS as repository.
I created a new backup job, selecting the two VM, scheduled at night with usual Application-Aware Processing enabled.
Next morning the nightmare starts. Veeam backup job successfully backup the VM proxy but reports for the VM AD and SQL:
Code: Select all
[02.07.2020 22:46:52] <28> Info VSSControl: Frozen in 8sec
[02.07.2020 22:46:52] <28> Info [VimApi] Create snapshot, ref "40", name "VEEAM BACKUP TEMPORARY SNAPSHOT", description "Please do not delete this snapshot. It is being used by Veeam Backup.", memory "False", quiesce "False"
[02.07.2020 22:46:55] <28> Info [Soap] Snapshot VM '40' was created. Ref: '40-snapshot-111'
[02.07.2020 22:46:55] <28> Info VSSControl: Unfreezing
[02.07.2020 22:47:01] <28> Error Unable to release guest. Error: Failed to call RPC function 'Vss.Unfreeze': Error code: 0x80004005. Failed to invoke func [Unfreeze]: Unspecified error. Unfreeze error: [Backup job failed. Cannot create a shadow copy of the volumes containing writer's data. A VSS critical writer has failed. Writer name: [SqlServerWriter]. Class ID: [{a65faa63-5ea8-4ebc-9dbd-a0c4db26912a}]. Instance ID: [{f80b2378-e9f8-4ce1-b934-41dc84a7a471}]. Writer's state: [VSS_WS_FAILED_AT_PREPARE_SNAPSHOT]. Error code: [0x800423f0].].
To make long story short thanks also to https://www.veeam.com/kb1980 I test VSS using diskshadow utility and it reports:
Component <xxxxxxxxx> from writer "SqlServerWriter" is excluded from backup because it requires a volume that cannot be found on this system.
Where <xxxxxxxxx> is server\instance\dbname. Again in diskshadow but triggering the specific VSS writer "SqlServerWriter" we found (not so evident nor highlighted):
WRITER "SqlServerWriter"
.......<omitted>.....
- Volumes affected by this component:
- \\SERVER01\BUSDIR\ [Does not exist]
You have to render and construe in you mind both the statements "is excluded from backup because it requires a volume that cannot be found on this system" and "[Does not exist]" because are unclear and incorrect. The share EXIST and is on the server himself: is a local shared folder.
These little warning cause is another and originated by an unsupported configuration made in Microsoft SQ but allowed by the application.
Executing SQL query: 'SELECT DB_NAME(database_id) AS DatabaseName, Name AS Logical_Name, type_desc AS Type, Physical_Name AS Location, state_desc AS OnlineStatus FROM sys.master_files' we got that one of three SQL db has Physical_Name inside folder \\SERVER01\BUSDIR\. This is allowed by SQL server but not by the SQL Server's writer used to support Microsoft Volume Shadow Copy Service ("SqlServerWriter") because it support only local volumes, NOT external volumes like UNC path, even if the UNC path point to the local system himself.
The error Veeam B&R job shows, he got from OS and now we can translate this way: sorry cant Snapshot VM using VSS because one of the triggered VSS writer [SqlServerWriter] returns he cant VSS one db due to unsupported location type.
I Hope this help someone.
Thanks for attention.
Ciao