Problem
Beim Ausführen einer Sicherung in einer SQL Server-Datenbank, bei der die resultierende Sicherungsdatei auf ein zugeordnetes Laufwerk geleitet wird, wird die folgende Fehlermeldung angezeigt:
„Das System kann den angegebenen Pfad nicht finden.“
Produktlinie
Struxureware Power Monitoring
Power Monitoring Expert
ION Enterprise
ION EEM
Umgebung
SQL Server 2008 R2, SQL Server 2012, SQL Server 2014, SQL Servr 2016
Ursache
Eine Netzwerkfreigabe, die mithilfe eines lokalen Laufwerksbuchstabens zugeordnet ist, ist für eine SQL Server-Instanz nicht sichtbar, da sie läuft als Dienst.
Der SQL Server-Dienst wird in der Umgebung der lokalen Konsole ausgeführt, wobei die Sicherheit des Startkontos von SQL Server angewendet wird.
Zugeordnete Laufwerke sind sitzungsspezifisch und für einen auf der lokalen Konsole gestarteten Dienst nicht sichtbar.
Auflösung
Sichern einer SQL Server-Datenbank auf einem zugeordneten Laufwerk mit einem lokalen Laufwerksbuchstaben:
1. Führen Sie den folgenden Befehl in einem Abfragefenster aus EXEC xp_cmdshell ’net use <drivename> <share name>‘
Where: <drive name>: Letter used to map the drive
<share name>: UNC path to the share
Wenn xp_cmdshell nicht aktiviert ist, erhalten Sie ein Systemfehler. Um xp_cmdshell zu aktivieren, führen Sie die folgende Abfrage aus:
— Damit erweiterte Optionen geändert werden können.
EXEC sp_configure ‚erweiterte Optionen anzeigen‘, 1;
GEHEN SIE ZU
— Um den aktuell konfigurierten Wert für erweiterte Optionen zu aktualisieren.
RECONFIGURE;
GO
— Um die Funktion zu aktivieren.
EXEC sp_configure ‚xp_cmdshell‘, 1;
GO
— Um den aktuell konfigurierten Wert für diese Funktion zu aktualisieren.
RECONFIGURE;
GO
Wenn das Mapping eine Benutzeranmeldung benötigt, ändern Sie die netuse. Öffnen Sie das Eingabeaufforderungsfenster und verwenden Sie den folgenden Befehl:
net use <drivename> <share name> /user:username password
Beispiel: net use z: \\servername\folder /user:username password
2. Sie sollten in der Lage sein, mit dem zugeordneten Laufwerksbuchstaben zu sichern, da das Laufwerksfenster von Management Studio Object Explorer nun das obige zugeordnete Laufwerk auflisten sollte
Hinweis:
Ein Nachteil dieser Lösung besteht darin, dass das zugeordnete Laufwerk nach dem Neustart des SQL Server-Dienstes nicht mehr sichtbar ist, da es nicht mehr zugeordnet wird.
Wenn Sie die zugeordneten Laufwerksinformationen beibehalten möchten, müssen Sie eine Startprozedur zum Ausführen des Skripts in Schritt 1 erstellen.
Eine einfache Methode wäre, ein Sicherungsgerät unter Verwendung des UNC-Pfads der Remotefreigabe zu erstellen, auf der Sie die Datenbanksicherungen durchführen möchten.
Es ist wichtig zu beachten, dass das SQL Server-Startkonto über vollständige Berechtigungen für die Remotefreigabe verfügen muss.