我在远程数据中心有一个专用的 Windows Server,我的网站在其中与 Microsoft SQL Server 数据库一起运行。数据库是 50+ GB,我想对数据库进行本地备份。问题是如何从远程服务器传输一个巨大的备份文件。我已经尝试过常规的 FTP 客户端(如 Filezilla)和 WinSCP,但两者都无法处理大文件。在这种情况下是否还有其他可靠的替代方案。我计划在每个周末自动执行该过程并下载备份。
我在远程数据中心有一个专用的 Windows Server,我的网站在其中与 Microsoft SQL Server 数据库一起运行。数据库是 50+ GB,我想对数据库进行本地备份。问题是如何从远程服务器传输一个巨大的备份文件。我已经尝试过常规的 FTP 客户端(如 Filezilla)和 WinSCP,但两者都无法处理大文件。在这种情况下是否还有其他可靠的替代方案。我计划在每个周末自动执行该过程并下载备份。
如果您还没有尝试过,可以使用 SQL Management Studio 对数据库文件进行计划备份。我从来没有尝试过将这么大的文件发送到远程站点,但我已经让它在单独的作业中处理远程站点和超过 50 GB 的大得多的文件。
或者,如果失败了,您是否尝试过 robocopy?Robocopy 应该工作得“很好”,很容易编写脚本,并且当您在 VB 或 Powershell(或其他任何东西)中编写作业脚本时,您也可以发送一些电子邮件通知以通知成功和失败。
或者就此而言,DFS?(你没有说什么版本的 Windows,但 DFS 在 2003 和 2008 下有了很大改进。)老实说,我很想建立一个 DFS 共享,其唯一目的是将数据库的差异变化从服务器传输到远程备份位置。每天传输几百 MB 的更改,在后台使用 BITS 似乎是比每次要获取副本时移动整个 50 GB 文件更好的解决方案。
编辑:我之前没有明确说过,但经过一番思考,我想也许我应该......你绝对不想在数据库文件当前所在的 SQL 工作文件夹中创建 DFS 命名空间。如果你走 DFS 路线,你会想要对数据库文件进行本地复制/备份并通过 DFS 共享该位置。(并将备份/复制作业设置为覆盖现有文件,否则 DFS 每次都会复制整个文件,而不仅仅是更改。)
作为奖励,您应该可以在 Windows 中使用所有这些选项,而不是依赖第三方工具。
您在使用 FTP 和 WinSCP 时遇到什么问题?
如果传输在 4GB 标记附近失败,请确保您正在传输到 NTFS 文件系统。其他文件系统对文件大小有限制。
如果因为网络连接中断而失败,您可以设置任一选项以很容易地恢复。
你没有提到你在本地有什么样的互联网连接。但是如果我们假设使用 5mbit 电缆或 DSL 连接,则传输需要一整天多一点的时间,因此可以像这样每周进行一次备份。
另一种方法是设置本地 SQL 服务器并设置复制。初始同步需要相当长的时间,但之后您应该会自动进行相当最新的同步。