【问题标题】:How to Move backup files from one server to another in Sql Server如何在 Sql Server 中将备份文件从一台服务器移动到另一台服务器
【发布时间】:2012-01-08 03:29:58
【问题描述】:

我需要每天将我们的生产数据库刷新到另一个客户端服务器。

要求:我需要及时将.bak 文件从服务器a 移动到服务器b。

我们在这些服务器之间没有任何网络驱动器。

有什么方法可以使用 Sql Server 移动这些文件..

没有投标。

【问题讨论】:

    标签: sql sql-server sql-server-2005 sql-server-2008


    【解决方案1】:
    【解决方案2】:

    有多种选择。只要启用它,T-SQL 就会提供xp_cmdshell 来执行dos 命令。这样,只要两个位置都有有效的 Windows 路径(当然权限设置适当),您就可以复制文件或调用可编写脚本的 FTP 客户端。当然,我必须指出 xp_cmdshell 默认禁用是有充分理由的,启用可能会大大降低安全性。我已经多次使用它来完成您所描述的工作,但您必须充分考虑安全后果。

    如果您要通过网络移动它,您可能还想使用压缩。您当然可以使用 WinZip 或 7-Zip 之类的工具来执行此操作,但许多第三方 SQL 备份程序(例如 Red Gate's SQL Backup)都内置了压缩功能。

    最后,您可以考虑从 SQL 本身之外执行此操作,例如通过 Powershell,它可以更优雅地处理文件操作,并且可以通过 SMO 与 SQL Server 一起工作。

    【讨论】:

    • 其实我是 Sql Server 的新手,有没有直接的方法可以使用 Sql 脚本而不是使用 DOS 程序来移动这些文件。
    • 不在 TSQL 中。 TSQL 首先是一种查询语言,尽管它具有诸如 xp_cmdshell 之类的东西以提供灵活性。 SSIS 有执行此操作的选项,但即使是 SSIS 也会在幕后调用操作系统命令。当我开始(在 Powershell 存在之前)时,我经常使用 xp_cmdshell 来做你所描述的事情。现在,如果您需要安排它,我建议您使用 Powershell 和任务计划程序,除非有一些真正令人信服的理由在 SQL 中执行它。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-06
    • 2018-04-27
    相关资源
    最近更新 更多