Wertet man den Rückgabewert (Errorlevel) von Drive Snapshot aus, muss ggf. beachtet werden, das dieser in bestimmten Situationen keinen Fehler anzeigt, obwohl ein Problem vorhanden ist.

Als Fallbeispiel dient eine Kundensituation: Bei der Ausführung der Datensicherung kommt es zu einem Fehler in Verbindung mit VSS. Die Datensicherung als solches schließt dennoch erfolgreich ab. Allerdings wird ein “snapshot_error.log” erstellt und es gibt parallel dazu entsprechende Einträge im Log (sofern es erstellt wird).

22:00:23 Start of Snapshot 1.43.17743 [Sep  3 2015] at 12.09.2016
22:00:23 Running on Windows Server 2008 R2 Standard 64-bit Service Pack 1 (7601)
22:00:23 Memory Info: Total: 8191Mb, Free: 1025Mb, Pagefile total: 16381Mb, Pagefile free: 6285Mb
22:00:23 Command line: snapshot.exe  C:+D: Z:\Full-3-Monday-$disk.sna -RWT --AllWriters -L0 --LogFile:C:\Backup\Logs\Current.log
22:00:23 clearing Recycle Bin on drive c: - 0 Files,       0 Bytes
22:00:26 clearing Recycle Bin on drive d: - 0 Files,       0 Bytes
22:00:26 Disks in backup:
22:00:26    c: -> Z:\Full-3-Monday-C.sna
22:00:26    d: -> Z:\Full-3-Monday-D.sna
22:00:26 Preparing for backup
22:00:45 Including all available VSS writers
22:00:45 Starting Snapshot creation
22:00:45 Creating shadow set {3f65b78a-84eb-422c-8543-a01e15b4fdb0}
22:00:46 ***********************************************************
22:00:46 Snapshot error VSS_UTIL, line 1325
22:00:46 VSS(AddToSnapshotSet(ToWideCharacter(m_UniqueVolumeName[loop]), GUID_NULL, &SnapshotId[loop])) failed with errorcode 0x8004230f
22:00:46 ***********************************************************
22:00:46 Can't create VSS Snapshot, using internal backup engine.
22:00:47 Start backup of c: -> Z:\Full-3-Monday-C.sna
22:00:47 free space info: total   81.817MB,   43.722MB free,   29.903MB must be saved
22:00:47 c: -> Z:\Full-3-Monday-C.sna
22:28:09 c:   38.095MB in use - stored in   15.927MB - 27:23 minutes
22:28:09 Success
22:28:09 Start verification of: Z:\Full-3-Monday-C.sna
22:43:06 Success!
22:43:09 Start backup of d: -> Z:\Full-3-Monday-D.sna
22:43:09 free space info: total   81.916MB,   61.330MB free,   20.586MB must be saved
22:43:10 d: -> Z:\Full-3-Monday-D.sna
22:55:24 d:   20.586MB in use - stored in    6.099MB - 12:18 minutes
22:55:24 Success
22:55:24 Start verification of: Z:\Full-3-Monday-D.sna
23:02:17 Success!
23:02:17 ***********************************************************
23:02:17 Snapshot error VSS_UTIL, line 1679
23:02:17 VSS(BackupComplete(&pAsync)) failed with errorcode 0x80042301
23:02:17 ***********************************************************
23:02:18 Snapshot finished successfully
23:02:18 End of Snapshot 1.43 [Sep  3 2015] at 12.09.2016

In diesem Szenario ist es so, das die Datensicherung mit dem Rotationssicherungsskript erstellt wird. Dank dem Monitoring von Server-Eye (Existenz prüfen von “snapshot_error.log”) viel auf, das etwas nicht stimmt. Die Errorlevel-Auswertung im Skript schlug wiederum nicht an.

Hintergrund ist das bei der Verwendung der Option “–AllWriters” zunächt versucht wird mit VSS zu sichern, kommt es dabei zu einem Fehler, wird auf den internen Treiber zurückgegriffen. Zu Erkennen ist das an folgender Zeile aus dem obigen Log:

22:00:46 Can't create VSS Snapshot, using internal backup engine.

Da die Datensicherung als solches dann erfolgreich ist, bleibt der Errorlevel bei “0”. Anderst verhält es sich bei der Verwendung von “–ForceVSS”, scheitert VSS bricht die Datensicherung ab und der Errorlevel mit größer als “0”.

(Mein) Fazit

Wieder etwas dazu gelernt. Danke an den Support von Tom Ehlert Software für die Erklärung. Beide Optionen haben ihre Vor- und Nachteile. “–AllWriters” hat (imho) den Charme, das besser gesichert wird und im VSS-Fehlerfall dennoch eine Datensicherung erstellt wird, getreu dem Motto: (Irgend)Eine Datensicherung ist besser als gar keine Datensicherung.

Welche Option einem eher zusagt, muss im Einzelfall geprüft werden. Die Dokumentation verrät mehr zu Beiden:

Snapshot – Kommando Zeilen Parameter für Windows

Drive Snapshot – VSS Volume Shadow Copy Service