gmeurb
Goto Top

Backup von SQL-Datenbanken auf einem Netzwerkshare!

Hallo,

ich nutze hier einen SQL Server 2008 R2 und möchte Backups auf einen Netzwerkshare durchführen.

Die Backups laufen lokal ohne Probleme. Nehme ich einen Share auf einem Server (egal ob 2008 R2 oder 2012 R2) aus der selben Domäne, dann haut mir das Backup um die Ohren. Siehe auch Anhang!

Nun scheint das irgendwie ein Berechtigungsproblem zu sein. Der SQLServerdienst auf dem zu sichernden System wird vom lokalen System gestartet, also habe ich dem Serverkonto auf dem anderen Server Full Control gegeben. Der Effekt ist der Gleiche, es geht nicht.

Nun könnte ich ja auch die Dateien lokal ablegen und dann rüber kopieren. Da ich aber dann permanent das Verzeichnis pflegen muß, da mir der Plattenplatz zuläuft, würde ich gerne direkt über den SQL auf den Share sichern und eben das "Backup-Set will expire" auf einen festen Wert von x Tagen einstellen.

Hat jemand von Euch eine Idee?

Danke und Gruß
Gmeurb

3f1c41430ecfdf3c5480a83b235ffc2e

Content-Key: 243845

Url: https://administrator.de/contentid/243845

Printed on: April 25, 2024 at 16:04 o'clock

Member: jsysde
jsysde Jul 16, 2014 at 13:08:00 (UTC)
Goto Top
Moin.
Zitat von @gmeurb:
Die Backups laufen lokal ohne Probleme. Nehme ich einen Share auf einem Server (egal ob 2008 R2 oder 2012 R2) aus der selben
Domäne, dann haut mir das Backup um die Ohren. Siehe auch Anhang!
Welcher Anhang?!?

Nun scheint das irgendwie ein Berechtigungsproblem zu sein. Der SQLServerdienst auf dem zu sichernden System wird vom lokalen
System gestartet, also habe ich dem Serverkonto auf dem anderen Server Full Control gegeben. Der Effekt ist der Gleiche, es geht
nicht.
Deswegen legt man ein Dienstkonto für den SQL-Server an, in dessen Kontext man den SQL-Server laufen lässt. Selbiges berechtigt man entsprechend auf das Netzwerkshare, auf dem das Backup landen soll.

Cheers,
jsysde
Member: emeriks
emeriks Jul 16, 2014 at 13:12:07 (UTC)
Goto Top
Hi,
wie sicherst Du mit SQL Bordmitteln auf ein Share? Netzlaufwerk? ich dachte immer, der MSSQL kann nur auf lokale Platten sichern ....
Ansonsten könntest Du versuchen, ihm das Share per Symbolic Link als "lokalen Ordner" unterzujubeln.

Bsp:
Auf dem SQL-Server Link erstellen: mklink /D C:\SQL_Backup \\server\share
im SQL dann den Ordner C:\SQL_Backup als Backup-Ziel verwenden.

Geht das?
Member: gmeurb
gmeurb Jul 16, 2014 at 13:18:39 (UTC)
Goto Top
Hm, ich habe das Comuterkonto des Servers, der die Datenbanken hält in die Gruppe der Admins des Servers mit dem Share gepackt, dann geht es!

Warte noch einmal o einer was schreibt und markiere es als gelöst!
Member: gmeurb
gmeurb Jul 16, 2014 at 13:21:38 (UTC)
Goto Top
Hi,

also, ich erstelle von der Datenbank über Tasks einen Backupjob, in dem gebe ich das Verzeichnis auf dem Share des anderen Servers an. Anschließend generiere ich einen Job mit Zeitplan daraus.

Das geht!

Wie gesagt, geht erst, seit das Computerkonto des Datenbankservers lokaler Admin auf dem Share des anderen ist.

Gruß
Gmeurb
Member: jsysde
jsysde Jul 16, 2014 at 13:22:43 (UTC)
Goto Top
Moin.
Zitat von @gmeurb:
Wie gesagt, geht erst, seit das Computerkonto des Datenbankservers lokaler Admin auf dem Share des anderen ist.
Ist ja auch nur logisch.
"Hübsch" ist anders, s. mein Beitrag weiter oben.

Cheers,
jsysde
Member: jsysde
jsysde Jul 16, 2014 at 13:23:34 (UTC)
Goto Top
Moin.
Zitat von @emeriks:
wie sicherst Du mit SQL Bordmitteln auf ein Share? Netzlaufwerk? ich dachte immer, der MSSQL kann nur auf lokale Platten sichern
Nö, UNC-Pfad ging schon immer. Und auch mit Laufwerksbuchstaben für ein verbundenes Netzlaufwerk kann man das machen, ist nur ein wenig Gefummel.

Cheers,
jsysde
Member: gmeurb
gmeurb Jul 16, 2014 at 13:24:31 (UTC)
Goto Top
Zitat von @jsysde:


Deswegen legt man ein Dienstkonto für den SQL-Server an, in dessen Kontext man den SQL-Server laufen lässt. Selbiges
berechtigt man entsprechend auf das Netzwerkshare, auf dem das Backup landen soll.

Cheers,
jsysde

Ja, ist ne tolle Idee, kam mir auch gleich, aber der, der den Server aufgesetzt hat, der hat das nicht so gemacht und ich fummel da nun nicht an einem Livesystem mit wichtigen Daten rum!

Hm, das Bild hat es wohl irgendwie gerissen!

Gruß
Gmeurb
Member: gmeurb
gmeurb Jul 16, 2014 at 13:29:18 (UTC)
Goto Top
Ich hatte das schon erwartet, nachdem ich dem Computerkonto die Rechte auf dem Share einrichte!
Das hat allerdings nicht gegeht.

Gruß
Gmeurb
Member: Th0mKa
Solution Th0mKa Jul 16, 2014, updated at Dec 09, 2014 at 07:15:07 (UTC)
Goto Top
Zitat von @gmeurb:

Ich hatte das schon erwartet, nachdem ich dem Computerkonto die Rechte auf dem Share einrichte!
Das hat allerdings nicht gegeht.

Gruß
Gmeurb
Moin,

Neben dem Share musst du auch die NTFS Rechte setzen. Ansonsten kann man auch so ein Laufwerk via Script mappen:
http://www.codeproject.com/Questions/649378/how-to-take-the-backup-of-t ...

VG,

Thomas
Member: Bl0ckS1z3
Solution Bl0ckS1z3 Nov 20, 2014, updated at Nov 22, 2014 at 20:02:25 (UTC)
Goto Top
Wenn Du das Backup über ein SQL Script und Zeitplan erledigst, kannst Du das Backup erst einmal lokal fahren und im Anschluss die Daten auf ein Share kopieren.
Dann hast Du die Daten zwar redundant gespeichert, aber im Falle einer Wiederherstellung kannst Du ggf. die lokale Kopie verwenden, was immer etwas schneller geht.


backup-db.sql
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
BACKUP DATABASE DbName TO DISK='E:\Backup\Db\dbname.bak'
WITH INIT, NAME = N'DB_Sicherung'
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Backup.cmd
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
"C:\Program Files\Microsoft SQL Server\100\Tools\Binn\SQLCMD.EXE" -S SV00XX -E -i E:\Backup\backup-db.sql
echo ------------------------------------------------------------------
Echo Kopiere die Sicherungsdaten zum Backupserver
echo ------------------------------------------------------------------
xcopy /e /d /i /f /y E:\Backup \\sv00XY\backup\
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~