【问题标题】:How to automate SQL backup on a shared hosted server?如何在共享托管服务器上自动执行 SQL 备份?
【发布时间】:2011-03-24 08:50:56
【问题描述】:

我正在使用托管服务,它允许我备份我的 SQL 2008 数据库并仅通过 Web 界面下载 BAK 文件——并且我可以通过 Management Studio 访问数据库。我可以从 Management Studio 执行备份命令,但我没有备份所在路径的权限。有什么方法可以通过 SQL 或脚本来下载数据库的完整副本——我可以生成使用代码重新创建数据库所需的脚本吗?只有几千条记录。

谢谢。

【问题讨论】:

    标签: sql sql-server backup


    【解决方案1】:

    如果您可以通过 Management Studio 访问,为什么不将托管数据库复制到本地计算机(任务 > 复制数据库)?

    一旦恢复到本地系统,您就可以为所欲为。

    【讨论】:

      【解决方案2】:

      免费的SqlBackupAndFTP 允许使用脚本进行远程备份

      【讨论】:

        【解决方案3】:

        只是将其留在这里作为答案(将整个数据库编写为 .sql 文件(包括数据),然后使用 winrar 对其进行压缩。)

        我创建了这个解决方案,每天从任务计划程序运行一次,这就是为什么它只下降到每天的水平。如果您想运行更多(例如,每半小时一次),您将需要编辑“%date:~-4,4%%date:~-7,2%%date:~-10,2 %" 字段可降至小时/分钟/秒级别,具体取决于您的需要。

        注意:需要安装 SQL 发布向导和 Winrar

        begin.bat - 保存日志文件记录的包装器。这是任务计划程序要调用的批处理文件

        ::Run dbbackup.bat and append all output to log.txt
        
        md C:\[directory]\%date:~-4,4%%date:~-7,2%%date:~-10,2%
        
        "dbbackup.bat" >> "C:\[Directory]\%date:~-4,4%%date:~-7,2%%date:~-10,2%\log.txt"
        

        dbbackup.bat - 备份数据库

        echo off
        cls
        echo %date% %time%
        echo ***************************************************************************
        echo ** Script all objects in databases and save them in 'yyyymmdd' folder  **
        echo ***************************************************************************
        cd C:\[directory]\%date:~-4,4%%date:~-7,2%%date:~-10,2%
        "C:\Program Files\Microsoft SQL Server\90\Tools\Publishing\sqlpubwiz.exe" script -C "[ConnectionString]" [dbname]_%date:~-4,4%%date:~-7,2%%date:~-10,2%.sql
        echo ***************************************************************************
        echo ** RAR compress all .sql script files                                    **
        echo ***************************************************************************
        "C:\Program Files\WinRAR\WinRAR.exe" -ibck a [dbname]_%date:~-4,4%%date:~-7,2%%date:~-10,2%.rar [dbname]_%date:~-4,4%%date:~-7,2%%date:~-10,2%.sql
        echo WinRAR has completed execution
        echo ***************************************************************************
        echo ** Delete all .sql script files                                          **
        echo ***************************************************************************
        del *.sql
        echo .SQL files deleted
        

        只需创建一个计划任务来运行 begin.bat 以在您需要的任何时间间隔运行,数据库备份将与日志文件一起编写脚本。

        【讨论】:

          【解决方案4】:

          如果主机没有提供一种简单的方法来获取数据库的异地备份(自动 - 并告诉你如何做),你应该找到另一个。

          【讨论】:

            【解决方案5】:

            一种方法是编写数据库结构脚本并使用此 SSMS 插件为整个数据库生成插入语句 http://www.ssmstoolspack.com/

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2013-07-18
              • 2023-03-10
              • 2011-07-16
              • 2014-10-17
              • 2023-04-05
              • 2012-07-17
              相关资源
              最近更新 更多