Wie setze ich die Sql Server 2008 Datenbank zurück?

8

Ich möchte meine SQL Server 2008-Datenbank wie bei der ersten Erstellung zurücksetzen. Alle Identitäten müssen zurückgesetzt werden. Alle Daten in der Datenbank müssen weg sein. Gibt es eine Möglichkeit, dies zu tun?

    
ward87 03.11.2010, 09:09
quelle

4 Antworten

6

Sie können ein Skript schreiben, um alle Daten aus den Tabellen zu löschen und Identitätswerte zurückzusetzen (mit DBCC CHECKIDENT). Es gibt eine Reihe von Skripten, um das zu tun, also werde ich das Rad nicht neu erfinden - hier ist ein Beispiel .

Sobald Sie eine saubere Datenbank haben, würde ich vorschlagen, sie zu sichern - dann können Sie jedes Mal, wenn Sie auf die Säuberung zurücksetzen möchten, einfach von der Sicherung wiederherstellen.

Außerdem würde ich empfehlen, dass Sie vollständige Erstellungsskripts für Ihre Datenbank behalten. Das würde dann eine andere Option geben - die Datenbank löschen und aus diesen Skripten neu erstellen.

    
AdaTheDev 03.11.2010, 09:15
quelle
1

Reseed

Verwenden Sie diese Anweisungspaare für alle Datentabellen. Vergessen Sie nicht, Nachschlagetabellen alleine zu lassen (wie Typen einer Art). Sie sollten wahrscheinlich gefüllt bleiben, da andere Datentabellen auf ihren Werten beruhen.

%Vor%

Entwicklungsvorschlag

Ich schlage vor, während Sie Ihre App entwickeln (wenn Sie das tun, seit Sie eine Frage zu Stackoverflow gestellt haben), auch DB-Skripte zu versionieren. Normalerweise definiere ich diese DB-Skripte:

  1. DB löschen
  2. Modell erstellen
  3. Erstellen Sie Funktionen
  4. Erstellen Sie gespeicherte Prozeduren
  5. Erstellen Sie statische Daten (Nachschlagetabellendaten)
  6. Testdaten erstellen

Laufend nacheinander in der gleichen Reihenfolge kann ich meine DB auch immer mit Testdaten neu erstellen. Und wenn ich meine DB bereitstellen muss, führe ich einfach Skripte von 1-5 und lasse 6 davon aus. Sie können dies auch automatisieren, indem Sie eine bat -Datei erstellen, die sqlcmd -Befehle aufruft. Sie können Batch-Dateien problemlos in Visual Studio ausführen.

    
Robert Koritnik 03.11.2010 09:37
quelle
1

Wenn Sie über Ihren Server sprechen, können Sie Ihre Systemdatenbanken neu erstellen link text

andernfalls wäre der einfachste Weg, das Backup wiederherzustellen, das Sie am Anfang genommen haben sollten (die Antwort von adathedev ist gut).

    
Mark Broadbent 03.11.2010 09:51
quelle
1

AdaTheDevs link funktionierte nicht ganz für mich, aber es brachte mich auf den richtigen Weg.

Hier ist, was für mich funktioniert hat. Ich musste die SET QUOTED_IDENTIFIER ON Anweisung vor dem Löschen hinzufügen.

%Vor%     
bendytree 04.09.2012 19:22
quelle