SQL Server Backup Wiederherstellungsprobleme?

8

Ok, ich habe ein kleines Problem - ich habe Code auf meinem SQL Server ausgeführt und nicht bemerkt, dass ich das WHERE-Bit nicht ausgewählt habe. Natürlich, als ich die "608 rows affected" anstatt "1 row affected" sah, bin ich ein bisschen durchgedreht.

Zum Glück habe ich ein Backup gespeichert, aber aus irgendeinem Grund bekomme ich ein paar Probleme. Jetzt habe ich den Server heruntergefahren, also weiß ich, dass er von niemandem benutzt wird, aber er gibt mir den folgenden Fehler:

  

"Wiederherstellung fehlgeschlagen für Server 'myserver'.

     

System.Data.sqlclient.sqlerror: Exklusiver Zugriff konnte nicht erhalten werden   weil die Datenbank verwendet wird. (Microsoft.SqlServer.Smo) "

Ich habe etwas gesehen, das besagt, dass ich

verwenden sollte %Vor%

Aber ich habe drei Vorbehalte wegen dieses Codes. Erstens bin ich völlig unsicher, wie man multi_user wieder einschalten kann. Zweitens weiß ich nicht, wo das Programm seine Backups speichert. Drittens, diese SQL ist ein bisschen über meinem Kopf - ich bin relativ neu in der Sprache, ehrlich gesagt, also bin ich mir nicht sicher, wie dies die Dinge beeinflussen wird.

Hat jemand irgendwelche Antworten auf meine Probleme?

    
Kulahan 18.10.2011, 17:13
quelle

5 Antworten

4

Legen Sie fest, dass die Datenbank für einzelne Benutzer korrekt ist. Wenn Sie mit Ihrer Restauration fertig sind, führen Sie dies durch

%Vor%

Wo sich Ihre .bak-Datei befindet, müssen Sie sie vor dem Wiederherstellen finden.

    
user596075 18.10.2011, 17:17
quelle
8

Ich könnte vorschlagen, die vorhandene Datenbank nicht aus der Sicherung zu überschreiben, sondern stattdessen die Sicherung mit einem anderen Datenbanknamen wiederherzustellen ... Auf diese Weise können Sie die aktuelle und die vorherige Datenbank Seite an Seite haben.

Dann können Sie einfach eine update-Anweisung schreiben, um die Daten nur aus dieser einen spezifischen Tabelle wiederherzustellen, anstatt die gesamte Datenbank zurückzusetzen.

EDIT: Die Einzelheiten würden von Ihrer Umgebung abhängen, aber die Wiederherstellung würde ungefähr so ​​aussehen:

%Vor%

Und dann würde die update-Anweisung auch auf Ihrer spezifischen Tabelle basieren ...

    
Michael Fredrickson 18.10.2011 17:19
quelle
6

direkt in der Datenbank klicken Sie auf Aufgaben- & gt; Startlinie , wenn es erfolgreich ist, machen Sie dasselbe, aber setzen Sie es Online schalten Versuchen Sie dann, Ihre Datenbank wiederherzustellen

    
user2145577 07.03.2013 18:15
quelle
3

Unheimlich.

Ok, einige Dinge zu überprüfen:

  1. Stellen Sie sicher, dass Sie die einzige Person sind, die mit dem Server verbunden ist.
  2. Stellen Sie sicher, dass keine anderen Anwendungen, Webserver, Anwendungsserver usw. Verbindungen zu Ihrer Datenbank halten.
  3. Stellen Sie sicher, dass Ihr SQL-Manager keine offenen Fenster zu Tabellen oder anderen Objekten in Ihrer Datenbank hat.

DANN sollten Sie in der Lage sein, die Wiederherstellung ohne Einzelbenutzer-Kram durchzuführen.

    
n8wrl 18.10.2011 17:16
quelle
0

Gehen Sie zur Aktivität Überwachen und sehen Sie, ob Benutzer noch angemeldet sind, und beenden Sie den Prozess für diesen Benutzer mit der entsprechenden Datenbank. Dann fahren Sie mit der Wiederherstellung der Sicherungskopie

fort     
Rajesh Panicker 13.02.2013 01:23
quelle

Tags und Links