Datenbankwiederherstellung - SQL Server unter Linux - Vagrant Virtualbox - Linux-Host

389
Staffan Runnsjö

SQL Server unter Linux scheint Probleme beim Lesen aus dem Standardordner "shared / vagrant" zu haben.

Einige Ordnerinformationen (ls -l):

  • Wurzelordner: drwxr-xr-x 1 vagrant vagrant 4096 24. September 09:32 vagrant
  • Sicherungsdatei: -rw-rw-rw- 1 vagrant vagrant 32636416 Sep 21 12:15 myDatabase.bak

Befehl:

sudo /opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P 'myPassword' -Q 'RESTORE DATABASE myDatabase_dev FROM DISK = "/vagrant/myDatabase.bak" WITH MOVE "myDatabase_dev" TO "/var/opt/mssql/data/myDatabase.mdf", MOVE "myDatabase_log" TO "/var/opt/mssql/data/myDatabase_log.ldf"' 

Ergebnis:

Msg 3203, Level 16, State 1, Server ubuntu-xenial, Line 1 Read on "/vagrant/myDatabase.bak" failed: 31(A device attached to the system is not functioning.) Msg 3013, Level 16, State 1, Server ubuntu-xenial, Line 1 RESTORE DATABASE is terminating abnormally. 

Wenn ich die Datei an einem anderen Ort als diesem freigegebenen Ordner verschiebe, funktioniert die Wiederherstellung. Der Besitz von Dateien spielt ebenfalls keine Rolle, er kann jeden Besitzer haben, solange er sich nicht im freigegebenen Ordner befindet. Ich kann nichts in den Ordner- / Dateiberechtigungen sehen, die es MSSQL nicht erlauben, die Datei zu lesen.

Bearbeiten: Das Verschieben der Datei ist keine Option . Dies ist eine Testdatenbank, die echte ist riesig.

Weiß jemand, warum und was dagegen zu tun ist?

0

0 Antworten auf die Frage