我有一台运行 MS SQL Server 的 Window Server 2000 机器,它存储超过 20GB 的数据。数据库每天都备份到第二个硬盘。我想将这些备份文件传输到另一台计算机以构建另一台测试服务器并进行恢复练习。(备份实际上几乎没有恢复近 5 年。不要告诉我的老板!)
我无法通过网络传输那个巨大的文件。我尝试过普通的网络副本、apache 下载和 ftp。当传输的数据量达到 2GB 时,我尝试的任何方法最终都会失败。上次我成功传输文件是通过 USB 连接的外部硬盘驱动器。但我想定期执行这项任务,最好是自动执行。
想知道这种情况下最实用的方法是什么?
在 2Gb 上可预测的故障听起来像是目标文件系统的罪魁祸首……两者都在 NTFS 上吗?您是否通过任何压缩进行管道传输(zip 曾经在 2gb 边界处失败)((apache 是否进行压缩))
我已经使用 robocopy 复制了许多超过 20Gb 的文件(正如其他人所提到的),但我会避免使用 /MIR 开关,直到你确定你已经得到了你想要的副本 - 因为它会删除文件以及复制它们。
SMB 在一个时间限制内受到一个数据包的影响,因此通常是较慢的复制文件的方式 - 您可以选择使用推送或拉取进行复制。个人比较喜欢push方式(copy由源发起)。
MS Exchange 工具 eseutil 是一款出色的实用工具,可通过网络快速复制大文件:
eseutil /y source_file /d dest_file。
我强烈推荐使用免费实用程序RichCopy。它是多线程的,可以暂停和恢复文件复制操作。我很幸运使用它在服务器之间传输文件。
http://blogs.technet.com/markdea/archive/2009/03/24/richcopy-is-it-the-new-sliced-bread.aspx
就文件复制实用程序而言,TeraCopy是一个不错的基于 GUI 的工具(不是命令行),它可以将大量文件排队,支持暂停和恢复,可以动态更改其缓冲区大小以优化速度,并且可以选择替换 Windows 资源管理器的默认设置自己复制/移动。
带有 /MIR 选项的 Robocopy 对于机器之间的快速和脏备份非常有用。您可以在 Windows Server 200X Resouce Kit 中找到 robocopy
MIR 会将一个目录的内容镜像到另一台服务器。它只会复制已更改的文件。
对于大型 SQL Server 备份文件的反复洗牌,最实用的解决方案是使用第三方备份压缩产品或 SQL Server 2008 企业版的内置备份压缩。
有几个来自不同的供应商。我为 LiteSpeed 的制造商 Quest Software 工作,但我不是来这里卖任何东西的。您想查看那里的所有产品并确定最适合您需求的产品。这是最近一篇专门讨论 LiteSpeed 的博客文章,但同样的概念也适用于其他产品:
http://blogs.lessthandot.com/index.php/DataMgmt/DBAdmin/title-8
您是通过 LAN 还是通过 ADSL 等 WAN 连接复制文件?我假设它是一个 WAN,因为 20GB 不是通过 LAN 复制的大文件。我每天都会复制很多这样的文件。
如果是 WAN 连接,那么我的做法是使用 Cygwin 版本的 rsync。
JR
它有点晚了,但我建议使用第 3 方备份和恢复应用程序选项。我们使用 Red Gate SQL Backup ( www.red-gate.com ),它在 GUI 中有压缩和备用位置选项。我平均节省了 80% 的压缩 - 所以你只传输了 20% 的实际数据库大小。它还支持加密,因此可以在 WAN 上使用而无需担心拦截。
它是完全可调度的,因此可以按照您选择的周期自动运行。
GUI 还允许您配置和管理日志传送。
上面提供免费试用版。
我每天都使用 syncback ( http://www.2brightsparks.com/syncback/sbse.html ) 来传输比你的文件大几倍的文件。从来没有遇到过问题。
我的网络传输在大约 2GB 标记处失败 - 结果是 NIC 出现故障。