2017-02-20 87 views
0

如果我想测试我的数据库与我的软件,我可以只复制数据库和日志文件,并在测试后恢复以前的文件?如何快速备份数据库并将其恢复到以前的版本?

它会工作,数据库将安全吗? DB目前处于离线状态,没有客户端,但我不想破坏它,我需要一种快速的方式来恢复原始版本。

不幸的是,我无法创建另一个数据库。所以我只能在这个单一的工作。

回答

0

备份是数据库在其被采取时的副本。您需要执行完全备份:https://msdn.microsoft.com/en-us/library/ms186289.aspx

这适用于我所知道的任何数据库引擎。您可以完美备份数据库,运行脚本并进行恢复。这会使数据库与运行脚本之前的方式相同。

顺便说一句,你不需要把数据库离线做备份。但是,当您执行还原时,数据库将被置于脱机状态,因此请注意这一点。

+0

我的担心是有关恢复DB的这一进程的速度。 对于大小大于30 GB的数据库,速度足够快吗? 也许复制这些数据库文件将是足够和安全的? – Wiktor

+0

除非您卸下数据库然后重新附加,否则您将无法复制这些文件。恢复速度很快,但当然取决于服务器。如果您必须在具有1个内核和2个内存的服务器中恢复30 GB数据库,则很可能需要时间。如果您正在使用64 GB ram和RAID 10恢复16核的数据库,则可能需要几秒钟的时间。数据库大小不是了解性能的一种方法。如果您需要知道需要多长时间,请尝试在企业负担能够使数据库脱机的时间进行恢复,并查看运行需要多长时间。 – asemprini87

+0

也许你可以检查以下内容:https://www.brentozar.com/archive/2010/02/how-to-make-sql-server-backups-and-restores-faster/ – asemprini87

0

这是一个快速脚本备份数据库:

SET @fileName = <Backup path> + <Backup file name> + '.BAK' 
    BACKUP DATABASE @name TO DISK = @fileName