Beim Versuch eine SFirm Datensicherung zurückzusichern, die mit einem eigenen SQL Server erstellt wurde, wird folgender Fehler angezeigt:
Das zurücksichern der Datenbank ist fehlgeschlagen. Restore database as backup admin failed. Backup file C:\Backup\Instanz\...db.bak database SFirm4.... exception: Fehler bei der Verzeichnissuche für die Datei C:\Program Files\Microsoft SQL Server\...\SFirm4...mdf. Betriebssystemfehler (Das System kann den angegebenen Pfad nicht finden). Verwenden Sie WITH MOVE, um einen gültigen Speicherort zu finden.
Ursache:
Die genaue Ursache ist unklar - die Arbeitsvermutung ist, dass vom Kunden vergessen wurde, die Eigenschaft VIEW_ANY_DEFINITION zu setzen, was dazu führt, dass wir die Filegroup-Namen für das Backup nicht abfragen dürfen und somit die Angaben in der Backup-info.sic leer bleiben.
Workaround:
1. Umbenennen der Sicherungsdatei .sfs in .sfs.zip
2. Auspacken der backup-zip in ein separates Verzeichnis
3. Öffnen der Backup-info.sic in einem Editor
4. Öffnen des SQL Server Management Studios
5. Ausführen folgender Abfrage: RESTORE FILELISTONLY FROM DISK = N'<Pfad zur .bak-.Datei\<Name der .bak Datei>'
(Beispiel: RESTORE FILELISTONLY FROM DISK = N'C:\Programdata\04d8e4c4-2399-5ea6-8cfa-14f99a6d5af2_20221109-db.bak')
6. Die beiden Namen im SQL Management Studio in der Spalte 'LogicalName' nun im Editor in die Backup-info.sic unter 'LogicalDataName' bzw. 'LogicalLogName' eingetragen, und Backup-info.sic speichern
7. Nun die Dateien im separaten Verzeichnis alle wieder in ein Zip-Archiv packen und die .zip-Datei umbenennen in den vollständigen ursprünglichen namen der .sfs
8. Nun das Backup einspielen
Lösung: Patch 23.01 (oder höher) installieren.