Ich habe eine Azure-Dateifreigabe (SMB) mit Dateien. Wenn ich versuche, eine Datei umzubenennen/zu löschen, erhalte ich die Fehlermeldung „Die angegebene Ressource wird möglicherweise von einem SMB-Client verwendet“. Es gibt mehrere Server, die mit dieser SMB-Freigabe verbunden sind, und ich kann nicht feststellen, welcher Server oder welcher Prozess die Sperre hat. Wie kann ich diese Datei entsperren oder wie kann ich alle derzeit verwendeten Dateisperren freigeben?
Antwort1
Ich habe eine Lösung für dieses Problem gefunden, allerdings glaube ich nicht, dass dies der „normale“ Weg ist:
- Bearbeiten Sie den Abschnitt „Firewalls und virtuelle Netzwerke“ des Speicherkontos und legen Sie ihn auf „Ausgewählte Netzwerke“ fest.
- keine IP-Adressen/Bereiche zuweisen oder vorhandene entfernen
- 30 Minuten warten
- Stellen Sie den Abschnitt „Firewalls und virtuelle Netzwerke“ des Speicherkontos ein und setzen Sie ihn auf die ursprüngliche Einstellung oder „Alle Netzwerke“.
- Die Verbindung zum externen Server wird getrennt und die Sperre ist weg
Antwort2
Ich bin vor kurzem auf genau dieses Problem gestoßen. Sie können die Datei entsperren, indem SieSchließen-AzStorageFileHandleBefehl von der Azure-Befehlszeile. Nach dem Entsperren sollten Sie es löschen können.
Sie stellen eine Verbindung zur Azure-CLI her, richten Ihren Kontext für das Speicherkonto ein und geben dann den Pfad zu der Datei ein, die Sie entsperren möchten. Der gesamte Vorgang besteht aus diesen 4 Befehlen
connect-azaccount
Set-AzContext -Subscription "<subscription id>"
$context = New-AzStorageContext -StorageAccountName "<storage account name>" -StorageAccountKey "<storage account key found in the storage account key section>"
Close-AzStorageFileHandle -Context $context -ShareName "<share name>" -Path '<path>' -CloseAll