使用T-SQL语句将数据库备份到磁盘

T-SQL是SQL Server备份最常用的命令方式,BACKUP DATABASE TO DISK是创建全量备份、差异备份等的基本语句。

与其他备份方法相比,它提供了自定义源数据、目标和备份类型的灵活性。一旦了解了它的基本语法,您就可以按照自己的意愿简单地实现备份操作。

如何在 SQL Server 中使用 BACKUP DATABASE TO DISK 命令

通常,您可以在 SSMS 中运行 BACKUP DATABASE TO DISK 命令。只需连接到您的 SQL 实例并创建一个“新查询”,然后根据需要输入备份语句并“执行”它。

下面是一些常用的SQL Server备份数据库到磁盘的命令,大家可以参考。请注意,下面的“文件路径”应包括备份文件名和相应的后缀。

“创建完整的数据库备份到磁盘:”

将数据库数据库名称备份到磁盘 ='文件路径'

ssms完整备份

“创建数据库的差异备份:”

将数据库数据库名称备份到磁盘 ='Filepath' WITH DIFFERENTIAL

ssms差异备份

“创建一个事务日志备份到磁盘:”

BACKUP LOG DatabaseName TO DISK = 'Filepath' WITH NORECOVERY

ssms日志备份

将数据库备份到多个 .bak 文件中:

将数据库数据库名称备份到磁盘 = 'Filepath_1',
磁盘 = '文件路径_2',
磁盘 = '文件路径_3'

ssms备份成多个文件

“备份数据库并显示备份进度:”

将数据库数据库名称备份到磁盘 = '文件路径' WITH STATS

*它会创建一个完整的备份,并每隔 10% 显示备份进度。您也可以自己指定进度状态,例如使用 WITH STATS = 5%。

有进度的ssms备份

“创建完整备份并镜像到其他位置:”

备份数据库 DatabaseName 到磁盘 = 'Filepath_1'
镜像到磁盘 = 'Filepath_2'
WITH FORMAT

ssms镜像备份

使用 BACKUP DATABASE 脚本执行高级操作

以上是T-SQL备份命令的一些基本应用。事实上,你也可以通过更复杂的BACKUP DATABASE TO DISK脚本来实现SQL Server中的一些高级操作。

例如,如果要在备份文件中备份带有日期的数据库,可以使用以下命令:

DECLARE@FileName varchar(1000)
SELECT @FileName = (SELECT 'Path\Databasename' + convert(varchar(500), GetDate(),112) + '.bak')
BACKUP DATABASE databasename TO DISK=@FileName

您也可以对多个数据库执行此操作,详细信息可以在备份 SQL 数据库,文件名中包含日期.

带日期的备份脚本

有时您可能希望自动执行 T-SQL 脚本以定期备份具有相同设置的相同数据库。为此,您需要在 SSMS 中启用 SQL Server 代理以创建一个新作业,并将脚本输入为它的“步骤”,然后创建一个计划来自动化它。详细步骤可以参考SQL Server 备份脚本.

sql server 代理脚本

从命令行运行 BACKUP DATABASE TO DISK

如果不想登录 SSMS 进行数据库备份和恢复,也可以从命令提示符执行 SQLCMD BACKUP DATABASE TO DISK 命令。

按Win+R调出运行窗口,在文本框中输入“cmd”回车,即可在弹出的窗口中输入BACKUP DATABASE命令。

请注意,cmd 中使用的命令与 SSMS 中使用的命令略有不同。以SQL Server中的3种备份为例。

“创建完整备份到磁盘:”

SqlCmd -E -S Server\Instance -Q "BACKUP DATABASE DatabaseName TO DISK ='Filepath'"

cmd全量备份

“创建差异备份到磁盘:”

SqlCmd -E -S Server\Instance -Q "BACKUP DATABASE DatabaseName TO DISK ='Filepath'WITH DIFFERENTIAL"

cmd 差异备份

“创建一个事务日志备份到磁盘:”

SqlCmd -E -S Server\Instance -Q "BACKUP LOG DatabaseName TO DISK ='Filepath'WITH NORECOVERY"

cmd日志备份

提示: 如果要经常执行备份任务,可以创建一个文本文件,在其中输入备份命令,然后保存为批处理文件。因此,您可以双击它来执行备份,甚至可以使用 Windows 任务计划程序来自动执行备份。欲了解更多信息,请阅读用于备份 SQL 数据库的批处理文件.

不使用 T-SQL 命令备份 SQL 数据库(更简单)

使用BACKUP DATABASE TO DISK命令进行SQL Server备份的优点是简单、灵活,但如果要进行更高级的操作,如备份所有数据库、自动备份数据库等,操作会比较复杂。

另外,由于T-SQL命令是手动输入的,可能会出现一些小错误导致操作失败,需要花时间进行故障排除。

有了这些考虑,你可以考虑使用傲梅企业备份网络版自动备份 MSSQL 数据库。如果为您提供了一个简单的界面,只需单击一下即可完成所有操作。此外,作为集中式备份解决方案,它使您能够备份和还原网络上的所有 SQL Server。

要使用它,您可以在计算机上下载并安装傲梅企业备份网络版。这是一个180天的免费试用期:

然后,在所有要备份的客户端计算机上安装代理。您可以启动 企业备份网络版,切换到"计算机"选项卡,然后选择手动或远程“安装客户端程序”

*远程安装的客户端程序将由中央机自动控制,但如果您选择手动方式,您仍然需要对其进行请求控制 。

安装客户端程序

之后,您可以转到“任务选项”卡并根据需要创建“新任务”。选项包括文件、系统、分区、磁盘和 SQL Server。这里选择SQL Server Backup开始。

sql服务器备份

如您所见,设置窗口分为3个步骤,您只需按照它完成备份即可:

“第一步:”点击“+添加计算机,”检测到有SQL实例的受控计算机,选择一台进行备份。

添加电脑

“第二步:”点击“+添加,”根据选择的计算机指定源数据。您可以一次选择多个数据库甚至实例。

选择数据库

第 3 步:单击复选框,然后在弹出窗口中单击“添加存储”。然后您可以输入网络共享或 NAS 的路径,并选择其中的一个文件夹作为目的地。

选择路径

您可以在下面看到另外两个可用选项:

“设置:”您可以在此处使用密码加密备份、启用电子邮件通知或选择压缩级别。

设置

“计划:”它为您提供了每天/每周/每月自动执行数据库备份的选项。在高级选项卡中,您还可以选择执行完整备份或差异备份。

日程

完成所有设置后,就可以“开始备份了”。您可以创建任务并立即执行,也可以只创建任务并稍后执行备份。

所有创建的任务都可以在“任务”选项卡下进行管理。您可以单击“备份”以手动运行它,或单击“高级”以编辑、恢复或删除它。

管理高级任务

结论

在 SQL Server 中,BACKUP DATABASE TO DISK 是一种实用的 T-SQL 语句,用于执行不同类型的备份。但如果你想用更直观的方式来进行这样的操作,傲梅企业备份网络版也是一个值得尝试的选择。

有了它,您可以轻松地进行自动备份,或者备份一个实例的所有SQL数据库。不仅如此,作为企业端点备份软件,它还允许您创建和管理客户端计算机备份。