none
Restore Befehl mit lokaler BAK.Datei ausführen? RRS feed

  • Frage

  • Hallo,

    ich schaue per SQL Server Management Studio remote auf einer Datenbank.

    Jetzt möchte ich per RESTORE-Befehl die Datenbank updaten.

    Wie schaffe ich es, das eine BAK-Datei ausgeführt wird die auf meinem lokalen Rechner liegt?

    RESTORE DATABASE MyDB FROM DISK = '????\\C:\MyDB\MyDB.bak'

    Geht das?

    Danke Michael

    Donnerstag, 12. April 2012 09:31

Antworten

  • Hallo Michael, das ist ganz einfach. Platte C freigeben und dann über UNC-Pfad restoren:

    RESTORE DATABASE MyDB FROM DISK = '\\<pc oder
    servername>\<freigabe>\MyDB\MyDB.bak';

     Einen schönen Tag noch,
    Christoph
    --
    Microsoft SQL Server MVP
    www.insidesql.org/blogs/cmu

    • Als Antwort markiert mimuel Freitag, 13. April 2012 06:24
    Donnerstag, 12. April 2012 10:00
  • Hallo Christoph,

    als ganz so einfach würde ich das nicht sehen. Da gibt es doch einige Fallstricke. Angefangen von einem Konto, mit dem der SQL Server läuft, welches keinen Zugriff aufs Netz hat über fehlende Portfreigaben in der Windows Firewall und/oder Router, die zwischen Server und Client sitzen bis hin zu Problemen bei der Datenübertragung, insbesondere im Internet, ... sehe ich da viele mögliche Probleme.


    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET
    http://www.asp-solutions.de/ - Consulting, Development
    http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community

    • Als Antwort markiert mimuel Freitag, 13. April 2012 06:24
    Donnerstag, 12. April 2012 10:08
    Moderator
  • Hi Stefan,
    das ist natürlich alles zu beachten.
    Was ich häufiger mache, ist Backups von anderen Servern zu  verwenden. Die Accounts sind alle untereinander berechtigt und die Maschinen stehen im gleichen Netz-Segment.

    Ich vermute hinter der Frage auch eher Probleme bei der Anwendung von UNC-Pfaden, als Berechtigungsprobleme.

    Einen schönen Tag noch,
    Christoph
    --
    Microsoft SQL Server MVP
    www.insidesql.org/blogs/cmu

    • Als Antwort markiert mimuel Freitag, 13. April 2012 06:23
    Donnerstag, 12. April 2012 11:09

Alle Antworten

  • Hallo Michael,

    Jetzt möchte ich per RESTORE-Befehl die Datenbank updaten.
    Wie schaffe ich es, das eine BAK-Datei ausgeführt wird die auf meinem lokalen Rechner liegt?

    indem Du die Datei vorher auf den Server lädst. IMHO solltest Du nicht versuchen, das übers Netz zu machen. Falls Du das unbedingt willst, musst Du dem Benutzeraccount, der den SQL Server ausführt, Berechtigungen auf die Freigabe deinen lokalen Rechners geben, den entsprechenden Account evtl. gar noch bei dir mit identischem Passwort anlegen, ggfs. noch auf deinem Rechner Ports freischalten, damit Netzwerkzugriffe überhaupt möglich sind, ...

    Alles in allem ziemlich umständlich, wenn es denn überhaupt funktioniert (was Du erst weißt, wenn Du alles probiert hast). Daher nochmal meine Empfehlung: Lad die Datei vorher hoch. Wenn das nicht geht, erstell dir eine neue Datenbank auf dem SQL Server und führe dann bspw. mittels Tools wie Red Gate SQL Compare und ggfs. SQL Data Compare den Abgleich zwischen deiner lokalen und der Remote Datenbank durch.


    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET
    http://www.asp-solutions.de/ - Consulting, Development
    http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community


    Donnerstag, 12. April 2012 09:55
    Moderator
  • Hallo Michael, das ist ganz einfach. Platte C freigeben und dann über UNC-Pfad restoren:

    RESTORE DATABASE MyDB FROM DISK = '\\<pc oder
    servername>\<freigabe>\MyDB\MyDB.bak';

     Einen schönen Tag noch,
    Christoph
    --
    Microsoft SQL Server MVP
    www.insidesql.org/blogs/cmu

    • Als Antwort markiert mimuel Freitag, 13. April 2012 06:24
    Donnerstag, 12. April 2012 10:00
  • Hallo Christoph,

    als ganz so einfach würde ich das nicht sehen. Da gibt es doch einige Fallstricke. Angefangen von einem Konto, mit dem der SQL Server läuft, welches keinen Zugriff aufs Netz hat über fehlende Portfreigaben in der Windows Firewall und/oder Router, die zwischen Server und Client sitzen bis hin zu Problemen bei der Datenübertragung, insbesondere im Internet, ... sehe ich da viele mögliche Probleme.


    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET
    http://www.asp-solutions.de/ - Consulting, Development
    http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community

    • Als Antwort markiert mimuel Freitag, 13. April 2012 06:24
    Donnerstag, 12. April 2012 10:08
    Moderator
  • Hi Stefan,
    das ist natürlich alles zu beachten.
    Was ich häufiger mache, ist Backups von anderen Servern zu  verwenden. Die Accounts sind alle untereinander berechtigt und die Maschinen stehen im gleichen Netz-Segment.

    Ich vermute hinter der Frage auch eher Probleme bei der Anwendung von UNC-Pfaden, als Berechtigungsprobleme.

    Einen schönen Tag noch,
    Christoph
    --
    Microsoft SQL Server MVP
    www.insidesql.org/blogs/cmu

    • Als Antwort markiert mimuel Freitag, 13. April 2012 06:23
    Donnerstag, 12. April 2012 11:09