1

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

谢谢。

4

5 回答 5

2

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

一旦它被恢复到本地系统,你可以做任何你想做的事情。

于 2008-12-08T05:20:44.660 回答
2

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

于 2009-05-09T05:12:32.330 回答
2

只是将其留在这里作为答案(将整个数据库编写为 .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 以在您需要的任何时间间隔运行,数据库备份将与日志文件一起编写脚本。

于 2011-03-24T00:13:43.747 回答
1

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

于 2008-12-08T05:32:49.893 回答
0

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

于 2008-12-08T10:36:15.443 回答