2009-10-08 9 views
143

Ich habe eine Datei mit .bak Erweiterung.Importieren von .bak-Datei in eine Datenbank in SQL Server

Wie kann ich dieses Datum in eine Datenbank in SQL Server importieren?

+0

Sie können erstellen eine leere Datenbank, und stellen Sie die Daten in die leere dataBase mit Hilfe von.bak –

+0

Ich gehe davon aus, dass Sie MSSQL verwenden, hier ist ein [thread] (http://social.msdn.microsoft.com/Forums/en-US/sqltools/thread/aa3a06ea-5422-43f4-ba7b-eee1405e9be7) Erklären ein paar Möglichkeiten, die Sie wiederherstellen können. –

+0

Der einfachste Weg ist die dritte Antwort, Rechtsklick-Datenbanken, Import, Gerät, .bak-Datei auswählen, fertig. – Mafii

Antwort

51

.bak-Dateien sind Datenbanksicherungen. Sie können das Backup mit der Methode wiederherstellen unter:

How to: Restore a Database Backup (SQL Server Management Studio)

+6

Dies funktioniert nicht. Der Artikel sagt: "... 2) Erweitern Sie Datenbanken. Wählen Sie je nach Datenbank entweder eine Benutzerdatenbank oder erweitern Sie Systemdatenbanken und wählen Sie dann eine Systemdatenbank. 3) *** Klicken Sie mit der rechten Maustaste auf die Datenbank ***, Zeigen Sie auf Aufgaben, und klicken Sie dann auf Wiederherstellen. " NICHT! Sie können nicht mit der rechten Maustaste auf eine Datenbank klicken, die nicht existiert! Sie versuchen schließlich, die angegebene Datenbank wiederherzustellen oder zu importieren. Wie können Sie mit der rechten Maustaste auf eine Datenbank klicken, die nicht geladen ist? Bizarre von MSDN und erschwerend, dass Wiederherstellung Funktionalität in SSMS angegeben ist, aber nicht funktioniert. Warum? Glücklicherweise funktionieren die SQL-Befehle, die andere hier geben. –

+13

Es gibt einen anderen Artikel zum Wiederherstellen einer neuen Datenbank finden Sie hier: http://msdn.microsoft.com/en-us/library/ms186390(v=sql.90).aspx –

19
RESTORE FILELISTONLY 
FROM DISK = 'D:\3.0 Databases\DB.bak' 

RESTORE DATABASE YourDB 
FROM DISK = 'D:\3.0 Databases\DB.bak' 

und Sie müssen geeignete MDF- bewegen, NDF & LDF-Dateien

With Move 'primarydatafilename' To 'D:\DB\data.mdf', 
Move 'secondarydatafile'To 'D:\DB\data1.ndf', 
Move 'logfilename' To 'D:\DB\log.ldf' 
13

mit Anstatt die Wahl Datenbank wiederherstellen ... , wählen Sie Wiederherstellen von Dateien und Dateigruppen ...

Geben Sie dann einen Datenbanknamen ein, s Wählen Sie Ihren .bak-Dateipfad als Quelle aus, aktivieren Sie das Kontrollkästchen zum Wiederherstellen und klicken Sie auf OK. Wenn die BAK-Datei gültig ist, wird es funktionieren.

(Der SQL-Server wiederherstellen Optionsnamen nicht intuitiv sind für das, was sollte eine sehr einfache Aufgabe.)

+0

Es ist der beste Rat :) – Kamilos

+0

Dies ist guter Rat, ich tat dies und es berichtete, dass die Wiederherstellung erfolgreich war. Aber ein kleines Problem bleibt bestehen ... Die Datenbank ist nicht im Objekt-Explorer aufgelistet. Ich versuche "attach", und es hat sogar die richtige .mdf-Datei zur Verfügung (ich nehme an, ein Produkt der Wiederherstellung). Wenn ich den Anhang versuche, wird ein Fehler ausgegeben, der bereits verwendet wird. Hast du Tipps für diese Etappe? – AlanSE

+0

Wenn Sie ein Passwort in der Datei haben, erhalten Sie den Fehler – OB7

26

Sie einfach diese Datenbank-Backup-Dateien mit nativen SQL Server Methoden wiederherstellen, oder Sie ApexSQL Restore-Tool verwenden können Fügen Sie die Dateien schnell virtuell an und greifen Sie auf sie als vollständig wiederhergestellte Datenbanken zu.

Disclaimer: Ich als Product Support Engineer arbeiten bei ApexSQL

120

Auf SQL Server Management Studio

  1. Datenbanken auf linken Bereich Rechtsklick (Objekt-Explorer)
  2. Klicken Sie wiederherstellen Datenbank ...
  3. Wählen Sie Gerät, klicken ..., und fügen Sie Ihre bak Datei
  4. Klicken Sie OK, dann OK wieder

Fertig. Wiederherstellen

  • Wählen Sie die Geräte Optionsfeld im Abschnitt Quelle

  • +4

    Das funktioniert wie ein Zauber. Dies sind hervorragend vereinfachte Anweisungen, und sie sind im Wesentlichen die gleichen Anweisungen aus dem offiziellen Microsoft-Link in der am meisten gewählten Antwort hier aufgeführt. –

    +2

    Wenn dies fehlschlägt, müssen Sie wahrscheinlich eine vorhandene Datenbank löschen. – DigitalDesignDj

    +0

    Das funktioniert nicht für mich. Ich zeige auf den richtigen Ordner und es sieht nicht einmal die Dateien. Ich füge den genauen Dateinamen in den Dialog ein und es sagt, dass die Datei nicht existiert. Außerdem wird im Dialogfeld ein Laufwerk angezeigt, das auf meinem Server nicht vorhanden ist. Erinnert sich die Datenbank an den Speicherort der letzten Sicherung und akzeptiert sie nur eine Wiederherstellung von diesem Punkt? Ich finde es sehr merkwürdig, dass ich keine wiederherzustellende Sicherungsdatei auswählen kann. – James

    5
    1. Verbindung zu einem Server, den Sie Ihren DB
    2. Rechtsklick Datenbank
    3. Klicken Sie speichern möchten
    4. Klicken Sie auf Hinzufügen.
    5. Navigieren Sie zu dem Pfad, wo Sie.bak-Datei gespeichert ist, wählen Sie es und klicken Sie auf OK
    6. Geben Sie das Ziel Ihres DB
    7. Geben Sie den Namen, mit dem Sie Ihre DB
    8. Klicken Sie auf OK

    Geschehen

    1

    speichern möchten Sie kann das Knotenpaket verwenden, wenn Sie Datenbanken oft im Entwicklungsprozess wiederherstellen müssen.

    Install:

    npm install -g sql-bak-restore 
    

    Verbrauch:

    sql-bak-restore <bakPath> <dbName> <oldDbName> <owner> 
    

    Argumente:

    • bakpath, relativer oder absoluter Pfad
    • dbName, auf Datei, in die Datenbank wiederherstellen (! ! Datenbank mit diesem Namen wird gelöscht, wenn vorhanden !!)
    • oldDbName, Datenbankname (wenn Sie nicht wissen, etwas angeben und ausführen, werden Sie verfügbaren Datenbanken nach Lauf sehen.)
    • Eigentümer, den Benutzernamen zu machen und ihm Db_owner Privilegien (Passwort „1“)

    !! sqlcmd Befehlszeilen-Dienstprogramm sollte in Ihrer PATH-Variable sein.

    https://github.com/vladimirbuskin/sql-bak-restore/

    1
    1. Kopieren Sie Ihre Backup-BAK-Datei in der folgenden Position von Ihrem PC: C: \ Programme \ Microsoft SQL Server \ MSSQL11.SQLEXPRESS \ MSSQL \ DATA
    2. Verbindung zu einem Server, den Sie möchten Ihre DB
    3. Rechtsklick Datenbank
    4. klicken Sie
    5. speichern
    6. wählen Sie den Geräte-Optionsfeld unter dem Quellenabschnitt Wiederherstellen
    7. Klicken Sie auf Hinzufügen.
    8. Navigieren Sie zu dem Pfad, in dem Sie Ihre BAK-Datei gespeichert ist, wählen Sie diese aus und klicken Sie auf OK
    9. Geben Sie das Ziel Ihres DB
    10. Geben Sie den Namen, mit dem Sie Ihre DB
    11. Klicken Sie auf OK
    12. speichern möchten

    Die obigen Lösungen haben verpasst, wo Sie Ihre Backup-Datei (.bak) aufbewahren. Dies sollte den Trick machen. Es hat für mich funktioniert.

    3

    einfach

    sp_restoredb 'Ihre Datenbankname' verwenden 'Lage Von den Sie wiederherstellen möchten'

    Beispiel: sp_restoredb 'OMDB', 'D: \ Namen abc.bak'

    +0

    Was ist der Unterschied zwischen diesem und 'RESTORE DATABASE' wie in https://msdn.microsoft.com/en-us/library/ms178099(v=sql.105).aspx? – unhammer

    +1

    Wiederherstellen der Datenbank führen Sie die Wiederherstellung nur dann durch, wenn die Struktur Ihrer Datenbank wie die Sicherungsdatei ist, aber 'sp_restoredb' führt die Wiederherstellung durch, auch wenn Ihre Datenbank eine andere Struktur hat oder völlig leer ist (neu). –

    Verwandte Themen