如何使用 T-SQL 备份 SQL 服务器数据库

发布于

可以使用 T-SQL 语句备份任何 SQL Server 数据库。BACKUP DATABASE

本文介绍如何将数据库备份到磁盘。这将创建一个.bak文件,如果需要,以后可以使用该文件来还原数据库。

创建完整备份

下面是创建 SQL Server 数据库到磁盘的完整备份的基本示例:

BACKUP DATABASE Movies
TO DISK = ‘Z:\mssql\backups\Movies.bak’;

此示例创建 Movies 数据库到磁盘上文件的完整备份此示例使用 Z 驱动器上的位置,但路径可以是所需的任何位置。数据库应备份到与实际数据库本身使用的驱动器不同的驱动器。这样,如果出现磁盘故障,您就不会丢失备份文件和数据库。

以下示例执行相同的操作,但此示例使用 Linux 和 Mac 文件路径语法:

BACKUP DATABASE Movies
TO DISK = ‘/var/opt/mssql/backups/Movies.bak’;

创建差异备份

创建完整备份后,可以创建差异备份。差异备份是指仅备份自上次创建完整数据库备份以来已更改的数据库部分的备份。

差异备份减少了备份数据库所需的时间(因为仅备份自上次完整备份以来的更改)。

若要创建差异备份,请使用用于创建完整备份的相同语句,但这次添加子句除外。BACKUP DATABASE``WITH DIFFERENTIAL

下面是一个示例:

BACKUP DATABASE Movies
TO DISK = ‘Z:\mssql\backups\Movies.bak’ WITH DIFFERENTIAL;

运行此语句会将差异备份追加到包含完整备份的原始备份文件中。

备份事务日志

您还可以备份事务日志。这是通过语句完成的。BACKUP LOG

下面是一个示例:

BACKUP LOG Movies
TO DISK = ‘Z:\mssql\backups\Movies_log.bak’;