Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SQL备份还是复制?_Sql_Sql Server_Sql Server 2005 - Fatal编程技术网

SQL备份还是复制?

SQL备份还是复制?,sql,sql-server,sql-server-2005,Sql,Sql Server,Sql Server 2005,我有一个SQL server,它有一个我编写的测试pp。这件事越来越受关注,我担心如果SQL server损坏或有人做了傻事,会丢失数据(以及用户输入数据所花费的时间) 我正在考虑我有哪些选项可以作为维护计划进行夜间备份,以及我可以做些什么,尽可能将数据库复制到另一个SQL server box 利与弊是什么?这里的最佳做法是什么?如果您只需要保留数据库的结构和内容,那么数据库备份是最好的 如果您需要使用数据库的副本,则考虑复制。复制需要更多的维护工作,如果只是出于备份原因而存在,则无法提供轻松

我有一个SQL server,它有一个我编写的测试pp。这件事越来越受关注,我担心如果SQL server损坏或有人做了傻事,会丢失数据(以及用户输入数据所花费的时间)

我正在考虑我有哪些选项可以作为维护计划进行夜间备份,以及我可以做些什么,尽可能将数据库复制到另一个SQL server box


利与弊是什么?这里的最佳做法是什么?

如果您只需要保留数据库的结构和内容,那么数据库备份是最好的


如果您需要使用数据库的副本,则考虑复制。复制需要更多的维护工作,如果只是出于备份原因而存在,则无法提供轻松的恢复功能。

自动备份

  • 我想你应该把所有的食物混合起来 备份+事务日志备份
  • 这类问题应该是 在serverfault.com上制作-事实上 还有一个类似的问题

  • 每日完整备份是最好的。如果数据库大小较小,则不需要保留副本,因为恢复时间较短。如果它是一个大数据库,你可以考虑日志传送或镜像。 为此,您需要使数据库处于完全恢复模式,并且必须定期设置事务日志备份。 只有当您只对几个表而不是整个数据库感兴趣时,复制才有用,在这种情况下,复制将是事务性复制。 维护计划向导有助于设置定期完整备份和事务日志备份。

    您可以尝试,这对于许多任务来说都是免费的,而且功能强大

    您需要做的就是使用DbFullSql提供程序并为源指定一个连接字符串,为目标指定一个文件。Web Deploy将使用SMO将数据库脚本化为文件:

    备份数据库架构和数据:
    >msdeploy.exe-verb:sync-source:DbFullSql=“Server=。\SQLExpress;Database=MyDatabase;integratedsecurity=true”-dest:DbFullSql=“d:\DbBackup.sql”

    仅备份数据(如图所示设置ScriptData属性):

    msdeploy.exe-verb:sync-source:DbFullSql=“Server=。\SQLExpress;Database=MyDatabase;integratedsecurity=true”,ScriptSchema=false,ScriptData=true,ScriptDrops=false-dest:DbFullSql=“d:\DbBackup.sql”

    关于如何获得每天备份数据库及其所有数据两次的每日作业的任何信息?您可以创建启动备份的SQL Server计划作业。有几种方法可以安排这项工作一天两次。例如,您可以将其计划为每12小时运行一次,并设置其首次运行的时间。