Jump to content

SQL Server 2005 - Backup auf Netzlaufwerk


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Moin moin,

 

Richten derzeit bei uns in der Domäne einen SQL Server 2005 ein. Die Domäne ist eine Gemischte aus einem 2k3 und einem 2k DC. Soweit funktioniert auch alles gut.

Nun wollen wir gerne die Backupfunktion des SQL einrichten, wobei das Datenbank Backup auf einen anderen Rechner gesichert werden soll. Und hier fangen die Probleme an. Der SQL akzeptiert keine Netzwerk- oder UNC Pfade. Nach genauerer Lektüre des Handbuches kam heraus, dass der SQL nur auf lokalen oder gemappten Laufwerken sichern kann. Also den angedachten Speicherort auf dem anderen Server als Netzlaufwerk auf dem SQL Server eingerichtet. Hat aber auch nicht geholfen. Es kommen entweder Fehlermeldungen, dass das entsprechende Laufwerk nicht gefunden wurde oder die entsprechenden Berechtigungen fehlen. Die Berechtigungen und Freigaben auf dem Netzwerkspeicherort wurden testweise auf "Jeder darf alles" gesetzt, nachdem das Setzen der Berechtigungen für die SQL eigenen Gruppen nicht ausreichte.

Aber auch mit dem Runtersetzen der Rechte konnte der SQL nicht auf dem Netzlaufwerk sichern.

Geht dies überhaupt oder was muss man noch bedenken?

 

Gruß

 

Jörg

Link zu diesem Kommentar

Moin,

 

siehe Dukels Antwort. Abgesehen davon, finde ich das überhaupt keinen "Kopfstand". Die Lösung ist simpel, zuverlässig und kostet nichts extra.

 

Wenn man wollte, könnte man ja auch remote sichern, indem man dem Server per iSCSI ein Remote-Laufwerk zuweist. Das Problem bei der Ansprache eines normalen Netzlaufwerks ist ja, dass man dort CIFS spricht. Das ist für Streaming-Backup unggeeignet.

 

Gruß, Nils

Link zu diesem Kommentar

Hallo Leute,

 

Dank für Eure Hinweise. Die anderen Varianten sind mir schon klar; und auf's selbe Laufwerk sichern und dann woandershin kopieren ist auch klar. Dazu bitte keine weiteren Tipps. Das ist aber nicht der Punkt hier.

Wenn im Handbuch des SQL beschrieben steht, dass er auch auf gemappte Laufwerke sichern kann und dies aber nicht macht, möchte ich gern verstehen, warum. Warum findet er das Netzlaufwerk nicht bzw. welche Rechte/Berechtigungen muss ich für den SQL auf dem Netzlaufwerk setzen, damit dieser, wenn er unter dem System Konto auf der SQL Maschine gestartet wurde, auch auf der anderen Maschine Zugriff bekommt.

Gibt es vielleicht jemanden der seinen SQL auf ein gemapptes Laufwerk sichern lässt und der mal seine diesbzgl. Einstellungen posten kann?

 

Gruß

 

Jörg

Link zu diesem Kommentar

Moin,

 

mir war immer so als könne SQL Server nicht direkt auf ein Netzlaufwerk sichern. Da ich das auch - wie beschrieben - für gefährlichen ****sinn halte, habe ich mich nie näher damit beschäftigt. Kannst du den Abschnitt aus dem "Handbuch" (welches Handbuch?) mal posten?

 

Wenn du deinen Backuptask tatsächlich mit dem Dienstkonto ausführst, muss entweder das Computerkonto auf den Share Zugriff haben (wenn es das Systemkonto ist - hab ich nicht im Kopf) oder es geht eben genau deshalb nicht (wenn es "Local Service" ist - lokal ist lokal). Aber man kann einen Task ja auch mit anderen Berechtigungen starten.

 

Gruß, Nils

Link zu diesem Kommentar

Moin,

 

okay, ich habe gerade mal selbst die Onlinedoku von SQL 2005 bemüht (die von 2008 hab ich grad nicht da). SQL Server kann tatsächlich direkt in einen Share sichern. (Trotzdem würde ich das aus den genannten Gründen nicht tun.)

 

Hier ein paar der wichtigen Hinweise aus der 2005-Onlinehilfe. Man beachte vor allem den Kontext, in dem die Laufwerke stehen müssen (die Mappings müssen dem SQL-Dienstkonto zugeordnet sein). Und man beachte den Hinweis mit den Sicherungsproblemen. CIFS ist nun mal kein Streamingprotokoll.

 

Sichern in eine Datei auf einer Netzwerkfreigabe

 

Damit SQL Server auf eine Datei auf einem Remotedatenträger zugreifen kann, muss das SQL Server-Dienstkonto Zugriff auf die Netzwerkfreigabe haben. Dazu gehören auch Berechtigungen, die erforderlich sind, damit Sicherungsvorgänge auf die Netzwerkfreigabe schreiben und Wiederherstellungsvorgänge die Sicherungsdaten auf der Netzwerkfreigabe lesen können. Die Verfügbarkeit von Netzlaufwerken und Berechtigungen hängt von dem Kontext ab, in dem der SQL Server-Dienst ausgeführt wird:

 

Zum Sichern eines Netzlaufwerks, wenn SQL Server im Kontext eines Domänenbenutzerkontos ausgeführt wird, muss das freigegebene Laufwerk in der Sitzung, in der SQL Server ausgeführt wird, als Netzlaufwerk zugeordnet sein. Wenn Sie Sqlservr.exe über die Befehlszeile starten, werden in SQL Server sämtliche Netzlaufwerke angezeigt, die Sie in Ihrer Anmeldesitzung zugeordnet haben.

 

 

Wenn Sie Sqlservr.exe als Dienst ausführen, wird SQL Server in einer separaten Sitzung ausgeführt, die nicht mit Ihrer Anmeldesitzung in Zusammenhang steht. Die Sitzung, in der ein Dienst ausgeführt wird, kann über eigene zugeordnete Laufwerke verfügen (obwohl das normalerweise nicht der Fall ist).

 

 

Sie können eine Verbindung mit dem Netzwerkdienstkonto herstellen, indem Sie statt eines Domänenbenutzers das Computerkonto verwenden. Damit Sicherungen von bestimmten Computern auf ein freigegebenes Laufwerk zulässig sind, müssen Sie den Computerkonten entsprechende Zugriffsberechtigungen erteilen. Solange der Sqlservr.exe-Prozess, der die Sicherung schreibt, Zugriff hat, spielt es keine Rolle, ob der Benutzer, der den BACKUP-Befehl sendet, ebenfalls Zugriff hat.

 

Wichtig:

Da es bei Vorliegen von Netzwerkfehlern beim Sichern von Daten über ein Netzwerk zu Störungen kommen kann, sollten Sie bei Verwendung eines Remotedatenträgers den Sicherungsvorgang am Ende überprüfen. Weitere Informationen finden Sie unter Überprüfen von Sicherungen.

 

 

 

Angeben eines UNC-Namen (Universal Naming Convention)

Zum Angeben einer Netzwerkfreigabe in einem Sicherungs- oder Wiederherstellungsbefehl sollten Sie den vollqualifizierten UNC-Namen der Datei für das Sicherungsmedium verwenden. Ein UNC-Name weist das Format \\Systemname\ShareName\Path\FileName auf.

 

Beispiel:

 

Code kopieren

BACKUP DATABASE AdventureWorks

TO DISK = '\\BackupSystem\BackupDisk1\AW_backups\AdventureWorksData.Bak';

GO

 

Gruß, Nils

Link zu diesem Kommentar

moin,

sql2005 kann problemlos auf unc pfade sichern. ich habe vor kurzem sogar einen sql7 neu (!) installiert mit dem man auf netzlaufwerke sichern kann, indem man es mit laufwerksbuchstaben einbindet.

 

die freigabe braucht schreibrechte für den sql server agent, oder den account unter dem der server läuft, das weiß ich gerade nicht aus dem kopf. aber es funktioniert defintiv problemlos bei uns.

 

gruß

werner

Link zu diesem Kommentar

Moin

 

 

Zum Sichern eines Netzlaufwerks, wenn SQL Server im Kontext eines Domänenbenutzerkontos ausgeführt wird, muss das freigegebene Laufwerk in der Sitzung, in der SQL Server ausgeführt wird, als Netzlaufwerk zugeordnet sein. ...

 

Wenn Sie Sqlservr.exe als Dienst ausführen, wird SQL Server in einer separaten Sitzung ausgeführt, die nicht mit Ihrer Anmeldesitzung in Zusammenhang steht. Die Sitzung, in der ein Dienst ausgeführt wird, kann über eigene zugeordnete Laufwerke verfügen. ...

 

 

.. wir kommen der Sache schon näher :) . Was bedeutet denn: "Die Sitzung, in der ein Dienst ausgeführt wird, kann über eigene zugeordnete Laufwerke verfügen."

Bei uns startet der SQL als Dienst, nehme mal an unter dem Systemkonto. Als Administrator angemeldet, habe ich auf der SQL Maschine das entfernte Backup Verzeichnis als Netzlaufwerk mit eigenem Laufwerksbuchstaben eingebunden. Trotzdem taucht es innerhalb der SQL Server Backup Konfiguration nicht als Laufwerk auf. Hier haben wir jetzt immer manuell den Netzlaufwerkbuchstaben bzw den UNC Pfad eingetragen - aber immer mit den beschrieben Fehlermeldungen.

Muss ich dem SQL Prozess irgendwo das neue Netzlaufwerk noch mal getrennt zuweisen, damit er es akzeptiert?

 

Gruß

 

Jörg

Link zu diesem Kommentar
Die Sitzung, in der ein Dienst ausgeführt wird, kann über eigene zugeordnete Laufwerke verfügen.

Bedeutet: Es gibt neben deiner Session als Anwender mit der du an dem Server angemeldet bist, noch eine Session des Benutzers "System". Diese läuft parallel zu deiner Session. Netzlaufwerke die in deiner Session gemappt werden, werden in einer parallelen Session nicht abgebildet. Die Sessions sind völlig voneinander entkoppelt.

 

Um das ganze nutzen zu können, müsstest du folgendes tun:

1. Den SQL Server Dienst und den SQL Server Agent Dienst auf ein Domänenkonto umstellen (am besten das selbe Konto) und in den Diensteigenschaften hinterlegen

2. Dich mit dem Dienstkonto anmelden, das Mapping dauerhaft einrichten

3. Das Netzlaufwerk muss auch entsprechend berechtigt sein

 

Muss ich dem SQL Prozess irgendwo das neue Netzlaufwerk noch mal getrennt zuweisen, damit er es akzeptiert?

Nicht dem Prozess, sondern dem Account unter dem die Session des Dienstes läuft.

Link zu diesem Kommentar

Um das ganze nutzen zu können, müsstest du folgendes tun:

1. Den SQL Server Dienst und den SQL Server Agent Dienst auf ein Domänenkonto umstellen (am besten das selbe Konto) und in den Diensteigenschaften hinterlegen

2. Dich mit dem Dienstkonto anmelden, das Mapping dauerhaft einrichten

3. Das Netzlaufwerk muss auch entsprechend berechtigt sein

 

Das könnte der richtige Hinweis sein. Werde den SQL Dienst mal unterm Admin Konto laufen lassen. Mal sehen, ob er dann das Netzlaufwerk in seiner Liste aufnimmt.

 

Gruß

 

Jörg

Link zu diesem Kommentar
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...