Ich habe einen Windows Server 2000-Computer mit MS SQL Server, auf dem über 20 GB Daten gespeichert sind. Die Datenbank wird täglich auf der zweiten Festplatte gesichert. Ich möchte diese Sicherungsdateien auf einen anderen Computer übertragen, um einen anderen Testserver zu erstellen und die Wiederherstellung zu üben. (Das Backup wurde fast 5 Jahre lang nicht wiederhergestellt. Erzählen Sie meinem Chef nichts davon!)
Ich habe Probleme beim Übertragen dieser riesigen Datei über das Netzwerk. Ich habe versucht, einfache Netzwerkkopie, Apache-Download und FTP. Jede Methode, die ich ausprobiert habe, schlägt fehl, wenn die übertragene Datenmenge 2 GB erreicht. Das letzte Mal, dass ich die Datei erfolgreich übertragen habe, war dies über eine externe USB-Festplatte. Aber ich möchte diese Aufgabe routinemäßig und vorzugsweise automatisch ausführen.
Fragen Sie sich, was der pragmatischste Ansatz für diese Situation ist?
Antworten:
Ein auf 2 GB vorhersehbarer Fehler klingt nach einer Schuld des Zieldateisystems ... Sind beide auf NTFS zurückzuführen? Leiten Sie durch eine Komprimierung (Zip wird verwendet, um an 2 GB-Grenzen zu versagen) (Apache macht Komprimierung)
Ich habe viele Dateien über 20 GB mit Robocopy kopiert (wie andere bereits erwähnt haben), aber ich würde die Verwendung der Option / MIR vermeiden, bis Sie sicher sind, dass die Kopie das tut, was Sie wollen - da sie sowohl Dateien löscht als auch kopiert.
SMB leidet unter einem zeitlichen Limit von einem Paket, daher ist das Kopieren von Dateien häufig langsamer - Sie haben die Möglichkeit, per Push oder Pull zu kopieren. Persönlich bevorzuge ich die Push-Methode (Kopie wird von der Quelle initiiert).
quelle
Das MS Exchange-Tool eseutil ist ein hervorragendes Dienstprogramm zum schnellen Kopieren großer Dateien über ein Netzwerk:
eseutil / y Quelldatei / d Zieldatei.
quelle
Ich kann die Verwendung des kostenlosen Dienstprogramms RichCopy nur empfehlen . Es ist Multithread-fähig und kann Dateikopiervorgänge anhalten und fortsetzen. Ich hatte sehr viel Glück damit Dateien zwischen Servern zu übertragen.
http://blogs.technet.com/markdea/archive/2009/03/24/richcopy-is-it-the-new-sliced-bread.aspx
quelle
TeraCopy ist ein nützliches GUI-basiertes Dienstprogramm (keine Befehlszeile), das viele Dateien in die Warteschlange stellt, das Anhalten und Fortsetzen unterstützt, die Puffergröße dynamisch ändert, um die Geschwindigkeit zu optimieren, und optional die Standardeinstellungen von Windows Explorer ersetzt Kopieren / Verschieben mit eigenen.
quelle
Robocopy mit der Option / MIR ist sehr nützlich für schnelle und fehlerhafte Sicherungen zwischen Computern. Sie finden Robocopy im Windows Server 200X Resouce Kit
MIR spiegelt den Inhalt eines Verzeichnisses auf einen anderen Server. Es werden nur geänderte Dateien kopiert.
quelle
Die pragmatischste Lösung für das wiederholte Mischen großer SQL Server-Sicherungsdateien ist die Verwendung eines Sicherungskomprimierungsprodukts eines Drittanbieters oder der integrierten Sicherungskomprimierung von SQL Server 2008 Enterprise Edition.
Es gibt mehrere von verschiedenen Anbietern. Ich arbeite für Quest Software, die Hersteller von LiteSpeed, aber ich bin nicht hier, um etwas zu verkaufen. Sie möchten sich alle Produkte ansehen und entscheiden, was für Ihre Anforderungen am besten geeignet ist. In einem kürzlich erschienenen Blog-Beitrag wird LiteSpeed speziell behandelt. Die gleichen Konzepte gelten jedoch auch für andere Produkte:
http://blogs.lessthandot.com/index.php/DataMgmt/DBAdmin/title-8
quelle
Kopieren Sie die Datei über ein LAN oder über eine WAN-Verbindung wie ADSL? Ich nehme an, es ist ein WAN, weil 20 GB keine große Datei ist, die über ein LAN kopiert werden kann. Ich kopiere jeden Tag viele solcher Dateien.
Wenn es sich um eine WAN-Verbindung handelt, verwende ich die Cygwin-Version von rsync.
JR
quelle
Ich hatte Netzwerkübertragungen um die 2 GB-Marke fehlgeschlagen - es stellte sich als fehlerhafte Netzwerkkarte heraus.
quelle
Ich verwende täglich syncback ( http://www.2brightsparks.com/syncback/sbse.html ), um Dateien zu übertragen, die um ein Vielfaches größer sind als Ihre. Hatte noch nie ein Problem damit.
quelle
Es ist ein bisschen spät, aber ich würde eine Drittanbieter-Option zum Sichern und Wiederherstellen von Anwendungen empfehlen. Wir verwenden Red Gate SQL Backup ( www.red-gate.com ), es verfügt über Komprimierungs- und alternative Speicherortoptionen in der GUI. Ich erhalte eine durchschnittliche Komprimierungsersparnis von 80% - Sie übertragen also nur 20% der tatsächlichen Datenbankgröße. Es unterstützt auch die Verschlüsselung, sodass es über ein WAN verwendet werden kann, ohne Abhörsorgen zu haben.
Es ist vollständig planbar und kann daher automatisch in einem Zyklus Ihrer Wahl ausgeführt werden.
Über die GUI können Sie auch den Protokollversand konfigurieren und verwalten.
Kostenlose Testversion unter den oben genannten.
quelle
Ich habe keine Erfahrung mit einer so großen Datei, aber könnten Sie Robocopy oder sogar xcopy mit der / Z-Option verwenden, die behauptet, neu startbar zu sein. Dies scheint für große Dateikopien gedacht zu sein, bei denen das Netzwerk nicht zuverlässig ist.
quelle
Ich habe Robocopy verwendet, um weit über 1 GB und hatte keine Probleme. ss64.com hat eine gute Erklärung der Schalter. Ich kann den Link allerdings nicht posten :-(
quelle
Verwenden Sie Netcat . Ein unix-orientiertes Tutorial zum Übertragen von Dateien finden Sie hier . Sie können die Dinge weiter beschleunigen, indem Sie:
Spaß beiseite, Netcat ist wahrscheinlich der schnellste Weg, um große Dateien in einem LAN zu übertragen. Da keine Prüfsumme erstellt wurde, möchten Sie möglicherweise vor dem Senden eine MD5-Summe der Datei erstellen und diese mit der MD5-Summe der empfangenen Datei vergleichen.
Ich habe Netcat oft auf diese Weise benutzt, habe noch nie gesehen, dass es versagt, das Netzwerk zu maximieren.
quelle
Vielleicht lohnt es sich, die Datei als kurzfristige Lösung in kleinere Teile aufzuteilen, bis Sie das Problem genau bestimmen können. Wir hatten in der Vergangenheit ähnliche Probleme, und FTP hat immer für uns funktioniert
quelle
Wenn es sich um SQL-.bak-Dateien handelt, die Sie kopieren, empfehle ich dringend, eine der folgenden Aktionen auszuführen, um Ihre Dateien vor dem Kopieren zu verkleinern:
Möglicherweise ist keine alternative Methode zum Kopieren großer Dateien erforderlich.
quelle
Ich denke nicht, dass es Ihr Problem ist, etwas zu finden, das schneller übertragen werden kann. Überprüfen Sie, ob Ihr Zieldateisystem NICHT FETT ist, wie andere bereits gesagt haben. Stellen Sie außerdem sicher, dass die NICs auf beiden Seiten über aktualisierte Treiber verfügen und ansonsten nicht unzuverlässig sind.
Verschieben Sie mit diesen Worten viele, viele kleine Dateien oder nur ein paar große? Beim Versuch, Millionen winziger Dateien zu verschieben, sind RAID-Controller-Probleme aufgetreten.
Ich glaube nicht, dass Sie Probleme haben werden, dies zu automatisieren, wenn Sie herausgefunden haben, was den Fehler verursacht. Es kann hilfreich sein, weitere Details zu Ihrer Hardware und relevante Fehler in der Ereignisanzeige aufzulisten.
quelle
Haben Sie versucht, eine eSATA-Verbindung zu einer externen Festplatte herzustellen? Verbindungen sind schnell (3 Gigabit!) Und sollten in der Lage sein, diese Datei in kürzester Zeit zu übertragen!
Welche Geschwindigkeit hat Ihre Netzwerkkarte auf dem Server, 10/100 oder 10/100/1000? Wie sehen die Bandbreite und der Switch des Servernetzwerks aus, wenn Sie die Datei kopieren? Wie sieht die Netzwerkbandbreite des Zielorts (des Servers) beim Kopieren aus? Haben Sie versucht, zwei Netzwerkkarten zusammen zu stellen? Sind die Netzwerkkartentreiber auf dem neuesten Stand? Ist das BIOS auf dem neuesten Stand?
Es gibt viele Dinge, die das Problem bei der Dateiübertragung sein können. Wenn Sie sicherstellen, dass die Hardwaretreiber und das BIOS auf dem neuesten Stand sind, kann dies wirklich einen Unterschied bewirken.
-JFV
quelle
Der einfachste und schnellste Weg: Externe USB-Sticks und Walking.
Mein Weg: benutze rsync. Wenn der Kopiervorgang fehlschlägt, starten Sie ihn einfach neu und er wird dort weitermachen, wo er noch vorhanden ist.
quelle
Die andere zu überprüfende Sache wäre zu prüfen, ob der Kontingentdienst auf dem Zielserver eingerichtet ist. Ich denke, es verwendet 2 GB als Standardkontingent pro Benutzer.
quelle