Ich habe eine sehr große Produktionsdatenbank und eine sehr große Testumgebungsdatenbank in SQL Server 2008R2. Beide Datenbanken haben eine ähnliche Tabellenstruktur, jedoch unterschiedliche Benutzer / Anmeldungen / Berechtigungen / Rollen.
Ich muss nur ein paar Tabellen in der Testdatenbank regelmäßig aus der Produktion aktualisieren, etwa einmal im Monat.
Die derzeitige Art, wie ich das vorhabe, ist
- Verwenden Sie das Dienstprogramm BCP, um einen Export der benötigten Tabellen aus der Produktion durchzuführen.
- Kopieren Sie die BCP-Exportdatei auf den Testserver
- Deaktivieren Sie die Indizes und Einschränkungen für alle Tabellen, die ich in Test aktualisiere
- Kürzen Sie die Testdatenbanktabellen
- Laden Sie die Daten mithilfe von BCP zurück in die Testdatenbanktabellen.
- Erstellen Sie die Indizes neu und aktivieren Sie die Einschränkungen in Test erneut
Dies alles scheint ein wenig zu kompliziert für eine so kleine Aufgabe. Es sieht auch so aus, als würde es eine Menge Redo erzeugen (im T-Log). Gibt es eine bessere Möglichkeit, dies zu tun?
Eine andere Möglichkeit, die ich mir vorgestellt habe, besteht darin, ein Backup aus der Produktion in der Testumgebung wiederherzustellen. Mein Problem ist jedoch, dass ein vollständiges Backup sehr umfangreich ist und nicht alle Tabellen aktualisiert werden müssen, sondern nur einige wenige. -und auch die Benutzer und Sicherheit in der Produktionsdatenbank unterscheidet sich vom Test. Das würde durch die Sicherheitseinstellungen in der Produktionsdatenbank überschrieben, wenn ich die gesamte Datenbank wiederherstelle.