Kopieren von SQL Server-Daten von einem server zu einem anderen auf einem Zeitplan
Habe ich ein paar SQL-Server auf unterschiedlichen webhosts, und ich bin auf der Suche nach einem Weg, um in regelmäßigen Abständen update-server mithilfe der anderen. Hier ist, was ich Suche:
- So automatisiert wie möglich - im Idealfall, ohne jegliche Beteiligung meinerseits, sobald es eingerichtet ist.
- Schiebt eine Reihe von Datenbanken, vollständig (einschließlich aller schema-änderungen) von einem server auf den anderen
- Frei ermöglicht änderungen auf dem Quell-server, ohne zu brechen meinen Prozess. Aus diesem Grund glaube ich nicht, die Replikation verwenden willst, als müsste ich brechen jedes mal gibt es ein update auf die Quelle, und erstellen Sie dann die Publikation und das Abonnement
- Eine Datenbank ist über 4 GB groß und enthält binäre Daten. Ich bin mir nicht sicher, ob es einen Weg gibt, zu exportieren, diese an einem Skript, aber es wäre eine Mammut-Datei, wenn ich es Tat.
Ursprünglich dachte ich an etwas zu schreiben, dass dauert eine geplante vollständige Sicherung jeder einzelnen Datenbank, FTPs die backups von einem server auf den anderen, sobald Sie fertig sind, und dann den neuen server hebt es auf und stellt diese wieder her. Der einzige Nachteil ich sehen kann, ist, dass es keine Möglichkeit gibt zu wissen, dass die backups sind fertig, bevor Sie beginnen, Sie zu übertragen - können diese sicherungen durchgeführt werden synchron? Auch der server aktualisiert ist unser test-server, also wenn es einige Ausfallzeiten beteiligt, die Daten zu verschieben, geht das in Ordnung.
Ist irgendjemand da draußen eine bessere Idee, oder ist das, was ich bin derzeit daran, das beste non-Replikation Weg zu gehen? Vielen Dank für Eure Hilfe, alle.
UPDATE:
Ich landete entwerfen eine maßgeschneiderte Lösung zu bekommen, dies geschieht mithilfe von BAT-Dateien, 7Zip -, Kommandozeilen-FTP und OSQL, so läuft es in eine völlig automatische Art und Weise und aggregiert die Daten von einem Dutzend Servern über das Land. Ich habe detailliert die Schritte in einem blog-Eintrag.
Vielen Dank für Ihre Eingabe!
InformationsquelleAutor SqlRyan | 2009-02-20
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich würde schreiben ein .NET-Konsole app für das. Ein backup ist so einfach wie das öffnen einer SQL-Verbindung und ausführen von "BACKUP DATABASE [] TO DISK = N". Dann verwenden Sie den eingebauten .NET-FTP-Bibliotheken zu schieben, um die anderen server. Sie können sogar werfen in sharpziplib zip. Dann werfen Sie diese in einen geplanten task.
Auf der anderen Seite, einen Windows Dienst einrichten, dass Uhren den Ordner, der die ftp-übertragungen mit einem FileSystemWatcher und stellt dann die Sicherung, wenn Sie fertig.
InformationsquelleAutor Chris Hynes
Dies ist ein Hauptzweck des SSIS/DTS. Ich mache genau das mit SSIS-sehr oft. Wenn Sie noch nicht verwendet, SSIS, bevor dann sqlis.com ist ein großartiger Ort zu starten (es sei denn, du bist auf SQL2000 dann werden Sie DTS verwenden, in diesem Fall beginnen Sie mit sqldts.com). Es gibt viele gute Bücher über das Thema als gut.
Aber es ist definitiv Wert Ihre Zeit, um zu lernen, SSIS. Lesen Sie Ihre Frage, SSIS ist IMO der beste Weg bei weitem. Sie nicht brauchen, um zu schreiben eine Zeile code, es hat alle Werkzeuge gebaut, um den job zu erledigen. Sie können auch festlegen, dass es in einem Intervall ausgeführt als gut.
InformationsquelleAutor Ryan Farley
Fand ich ein open-source-tool, dass einige Leute nützlich sein könnte und ändern könnte, nach Ihren Bedürfnissen.
SQL Server Database Copy Tool
"Kopien einer sql server-Datenbank von einem server zum anderen durch sichern, kopieren Sie die backup-Datei an den Ziel-server und die Datenbank wiederhergestellt wird."
HTH jemand auf der Suche auf dieses Thema.
InformationsquelleAutor Ralph Willgoss
Können Sie einen schnelleren 'backup', indem es jede DB und kopieren Sie die MDF/LDF - Datei-dies bedeutet, dass die DB offline ist, für eine kurze Länge der Zeit, obwohl. Andere, als dass ich gehen würde mit Chris ' s Kommentar.
InformationsquelleAutor MrTelly
Verwenden Sie das Assistenten zum Kopieren von Datenbanken. Rechten klicken Sie auf die source-Datenbank - Wählen Sie " Aufgaben - Datenbank Kopieren.
In der Führer Sie können wählen, erstellen Sie einen Zeitplan für den job auch.
InformationsquelleAutor VinnyG
Import & Export-Assistenten zum erstellen neuer Tabellen oder anfügen an vorhandene Tabellen. Auch Sie können eine Abfrage verwenden, um zu tun, Daten-transfer in den Assistenten..
InformationsquelleAutor Mithran