Exportieren und Importieren von MSSQL-Datenbanken über eine Netzwerkfreigabe

  • Mike Sherman
  • 8. Oktober 2020, 9:00 Uhr EDT

Wenn Sie mit MSSQL-Datenbanken arbeiten, müssen Sie möglicherweise Datenbanken über eine Netzwerkfreigabe direkt aus der SQL Server Management Studio (SMSS) -Schnittstelle exportieren. Während SMSS diese Funktion nicht nativ enthält, zeigen wir Ihnen eine Problemumgehung!

Lassen Sie uns zunächst den Export und Import von MSSQL-Datenbanken behandeln

Als Grundvoraussetzung für die Verwendung dieses Handbuchs möchten wir sicherstellen, dass Sie wissen, wie Sie Ihre Datenbanken als exportieren und importieren .bak-Dateien. So sichern Sie eine MSSQL-Datenbank und verschieben eine Datenbank zwischen zwei Servern. Dieser Vorgang wird intern in SSMS (SQL Server Management Studio) als Sichern oder Wiederherstellen einer Datenbank bezeichnet, je nachdem, in welche Richtung Sie gehen.

Exportieren einer MSSQL-Datenbank per Backup

Um mit dem Export Ihrer Datenbank zu beginnen, öffnen Sie SSMS, melden Sie sich bei Ihrem Server an und navigieren Sie zu Ihrer Datenbank.

Sie können die Datenbank sichern, indem Sie mit der rechten Maustaste auf die gewünschten Datenbanken klicken und zu Tasks > Backup navigieren.

Führen Sie ein Backup für die Datenbank aus, indem Sie mit der rechten Maustaste auf die gewünschten Datenbanken klicken und zu Tasks Backup navigieren.

Dies öffnet das Menü Datenbank sichern, in dem Sie die zu sichernde Datenbank, den Sicherungstyp, das Dateiziel und zahlreiche andere Optionen auswählen können. Für diesen Artikel müssen wir zu diesem Zeitpunkt keine zusätzlichen oder erweiterten Einstellungen ändern.

Hier können Sie Optionen auswählen, um Optionen für die Sicherung auszuwählen.

Beim Erstellen eines MSSQL-Backups wird Ihre Datenbank als .bak-Datei. Im Abschnitt Ziel des obigen Menüs können Sie Speicherorte hinzufügen oder entfernen, an denen Sie Ihre Datenbank sichern möchten. Sie können einen oder mehrere Standorte für den Zielort Ihrer hinzufügen.bak-Datei.

Klicken Sie auf OK, und Ihre Datenbank wird am ausgewählten Speicherort gesichert.

Importieren einer MSSQL-Datenbank durch Wiederherstellen

Um eine Datenbank wiederherzustellen, folgen wir einem ähnlichen Vorgang, jedoch umgekehrt. Anstatt die Datenbank in a zu exportieren.bak-Datei, wir werden die Datenbank aus dem importieren .zurück Datei.

Um Ihre Datenbank zu importieren, klicken Sie mit der rechten Maustaste auf Ihren Server anstelle der Datenbank, und wählen Sie Datenbank wiederherstellen.

Importieren Sie Ihre Datenbank, indem Sie mit der rechten Maustaste auf Ihren Server klicken und Datenbank wiederherstellen auswählen.

Dies bringt Sie zu einem Menü ähnlich dem Backup-Menü, in dem Sie die Datei, aus der Sie importieren möchten, unter der Geräteeinstellung und deren Speicherort sowie alle anderen erweiterten Optionen auswählen können, die Sie möglicherweise benötigen.

Wählen Sie unter der Geräteeinstellung die Datei aus, aus der Sie importieren möchten, zusammen mit dem Speicherort und allen anderen erforderlichen erweiterten Optionen.

Werbung

Durch Auswahl des Symbols unter der Quelle > Gerätemenü können Sie die .bak-Datei, die Sie importieren möchten. Klicken Sie auf Hinzufügen und Sie können zum navigieren .bak-Datei, die Sie wiederherstellen möchten. Klicken Sie auf OK und Ihre Datenbank wird in den aktuellen SQL Server importiert!

Wenn Sie zu diesem Zeitpunkt versuchen, auf eine Netzwerkfreigabe oder ein zugeordnetes Laufwerk zu importieren oder zu exportieren, können einige Schwierigkeiten auftreten.

Warum kann ich nicht direkt auf ein zugeordnetes Laufwerk exportieren?

Der Grund für die Existenz dieses Handbuchs liegt darin, dass Microsoft nativ keine Funktion zum direkten Exportieren einer Datenbank auf eine Netzwerkfreigabe oder ein zugeordnetes Laufwerk enthält. Wenn Sie Ihre Datenbank für Sicherungen exportieren oder auf einen anderen Server importieren, können Sie keine Netzwerklaufwerke aus dem Menü auswählen oder einen Remotestandort manuell eingeben.

Auswahl des Netzwerkspeicherorts, an dem das Backup gespeichert werden soll.

Wenn Sie versuchen, zum Laufwerk zu navigieren, indem Sie im Menü Sicherungsziel auswählen auf das Symbol klicken, wird Ihr Netzwerklaufwerk Z: nicht aufgelistet und nur die lokalen Laufwerke werden angezeigt.

Lokale Laufwerke zur Auswahl im Menü Sicherungsziel auswählen.

Viele versuchen, den Pfad zu ihrem Netzlaufwerk manuell einzugeben. Wenn Sie den Pfad zu Ihrem Netzwerkfreigabelaufwerk direkt eingeben, z Z:\mybackup.bak, Sie können im Menü Sicherungsziel auswählen auf OK klicken.

Sie können den Pfad zu Ihrem Netzwerkfreigabelaufwerk direkt im Menü Sicherungsziel auswählen eingeben.

Werbung

Wenn Sie jedoch beim endgültigen Export auf OK klicken, wird eine Fehlermeldung ähnlich dieser angezeigt:

 Wenn ein Backup den richtigen Pfad zum Speichern des Backups nicht finden kann, wird beim endgültigen Export eine Fehlermeldung angezeigt.

Wie Sie sehen, kann dies ein Problem sein, wenn Sie Datenbanken aus Platzmangel oder aus Sicherheitsgründen an einem Remote-Speicherort sichern müssen. In der Regel müssten Sie die Datenbank dann lokal exportieren, auf den Remoteserver kopieren und dann in den Ziel-SQL-Server importieren.

Wie umgehen wir diese fehlende Funktionalität?

Dazu muss eine Reihe von Skripten ausgeführt werden, um das Netzwerklaufwerk zum MSSQL-Auswahlmenü hinzuzufügen. Als erstes müssen Sie Ihre aktuelle Netzwerkfreigabe löschen, da Sie sie während des Vorgangs in der SQL-Befehlszeile neu erstellen. Klicken Sie dazu einfach mit der rechten Maustaste auf das Laufwerk im Datei-Explorer und wählen Sie “Trennen” oder öffnen Sie die Eingabeaufforderung, und geben Sie ein:

net use Z: /delete

Ihre Netzwerkfreigabe ist der Laufwerksbuchstabe von Z.

Nachdem Sie die vorhandene Freigabe gelöscht haben, öffnen Sie SSMS und erstellen Sie eine neue Abfrage mit den folgenden Befehlen:

EXEC sp_configure 'show advanced options', 1; GO RECONFIGURE; GO EXEC sp_configure 'xp_cmdshell',1 GO RECONFIGURE GO

Klicken Sie auf Ausführen und Sie sollten das folgende Fenster sehen:

Ausführen einer Löschung der aktuellen Netzwerkfreigabe.

Dieses Skript konfiguriert die Befehlsshell für SQL so, dass Sie Ihre eigenen Skripte direkt aus der SQL-kompatiblen Befehlsshell ausführen können.

Sobald Sie den obigen Befehl ausgeführt haben, erstellen Sie eine neue Abfrage und führen Sie den folgenden Befehl aus:

EXEC XP_CMDSHELL 'net use Z: \192.168.1.1\C$ /user:Administrator '

Ersetzen Sie 192.168.1.1 durch die IP-Adresse Ihres Remote-Zielservers und aktualisieren Sie sie auf das Kennwort des Administratorbenutzers. Bitte beachten Sie, dass Sie zum Erstellen dieser Freigaben mit ziemlicher Sicherheit Administratorrechte benötigen.

Sie können nun überprüfen, ob Ihr Netzwerklaufwerk in SQL korrekt konfiguriert ist, indem Sie die folgende Abfrage ausführen:

EXEC XP_CMDSHELL 'Dir V:'

Sie haben die Commandshell aktiviert, eine Netzwerkfreigabe in SQL erstellt und deren Existenz überprüft. Sie können jetzt Backups direkt von diesem Speicherort aus exportieren und importieren. Sie können es sehen, indem Sie zu Ihrer Datenbank > Tasks > Backup gehen, wo Sie sehen können, dass das Laufwerk Z: verfügbar ist, wenn Sie einen Zielspeicherort hinzufügen, an den gesichert werden soll.

Herzlichen Glückwunsch! Sie haben jetzt eine Netzwerkfreigabe in SQL eingerichtet, die auch dann erhalten bleibt, wenn Sie SSMS schließen und erneut öffnen. Sie können jetzt direkt an diesem Speicherort sichern oder wiederherstellen und müssen sich nicht mehr um die lokale Sicherung von Datenbanken kümmern, nur um sie unmittelbar danach auf einen Remoteserver verschieben zu müssen.

Mike Sherman
Mike Sherman arbeitete als Lead Enterprise Server Administrator für ein internationales Rechenzentrum sowie als technischer Berater für einen nationalen MSP. Er verfügt über jahrelange Erfahrung mit Hosting, Sicherheit und praktischer Problemlösung.Lesen Sie die vollständige Biografie ”

Leave a Reply