📜  SQL 备份

📅  最后修改于: 2022-05-13 01:55:41.213000             🧑  作者: Mango

SQL 备份

在 SQL Server 中,备份或数据备份是创建并存储在不同位置的计算机数据的副本,以便在发生数据丢失时可以使用它来恢复原始数据。要创建完整的数据库备份,可以使用以下方法:

1.在 Microsoft SQL Server 中使用 SQL Server Management Studio

2. 使用 Transact-SQL:

  • 连接到数据库引擎。
  • 打开新查询

句法

BACKUP DATABASE databasename TO backup_device [ ] [ WITH with_options [] ] ;

在哪里,



  • databasename是需要备份的数据库。
  • 备份设备 [ 磁盘 | TAPE ]声明了一个从 1 到 64 的备份设备列表,用于备份操作。
  • WITH with_options [ ]定义了下面提到的一个或多个选项:
  • 压缩 | NO_COMPRESSION定义是否对此备份执行备份压缩。
  • 描述最多可包含 255 个字符并描述备份集。
  • NAME最多可以有 128 个字符,用于描述备份集的名称。
  • FORMAT [MEDIANAME] [MEDIADESCRIPTION]可以在第一次使用媒体或覆盖所有现有数据时使用。

以下是创建备份的各种选项:

1. 创建一个完整的 SQL Server 备份到磁盘:

我们可以使用以下语句创建一个完整的 SQL Server 备份到磁盘:

BACKUP DATABASE DatabaseName
TO DISK = 'C:\DatabaseName.BAK'
GO

这里, BACKUP DATABASE DatabaseName 是指令。 “TO DISK”选项指定应将备份写入驱动器,以及备份位置和文件名。

2. 创建差异 SQL Server 备份:

我们可以使用以下语句创建差异 SQL Server 备份:

BACKUP DATABASE DatabaseName
TO DISK = 'C:\DatabaseName.BAK'  
WITH DIFFERENTIAL  
GO

3. 创建文件级 SQL Server 备份:

我们可以使用以下语句创建文件级 SQL Server 备份:



BACKUP DATABASE DatabaseName FILE = 'DatabaseName'  
TO DISK = 'C:\DatabaseName_DatabaseName.FIL'
GO

此处,“WITH FILE”选项用于在此命令中定义文件备份。必须定义数据库的逻辑文件名。

4. 创建文件组 SQL Server 备份:

我们可以使用以下语句创建文件组 SQL Server 备份:

BACKUP DATABASE DatabaseName FILEGROUP = 'ReadOnly'  
TO DISK = 'C:\DatabaseName.FLG'
GO

5. 创建一个完整的 SQL Server 备份到多个磁盘文件:

我们可以使用以下语句为多个磁盘文件创建完整的 SQL Server 备份:

BACKUP DATABASE DatabaseName 
TO DISK = 'C:\DatabaseName_1.BAK',
DISK = 'D:\DatabaseName_2.BAK',
DISK = 'E:\DatabaseName_3.BAK'
GO

在这里,此命令不是使用一个大文件,而是多次使用“DISK”选项将备份写入三个大小相似的较小文件。

6. 使用密码创建完整的 SQL Server 备份:

我们可以使用以下语句使用密码创建完整的 SQL Server 备份:

BACKUP DATABASE DatabaseName 
TO DISK = 'C:\DatabaseName_1.BAK'
WITH PASSWORD = 'Q!W@E#R$'
GO

在这里,“WITH PASSWORD”命令生成一个带有密码的备份,在数据库恢复时必须输入该密码。

7. 使用进度统计创建完整的 SQL Server 备份:



我们可以使用以下语句创建带有进度统计信息的完整 SQL Server 备份:

BACKUP DATABASE DatabaseName 
TO DISK = 'C:\DatabaseName_1.BAK'
WITH STATS
GO

此处,“WITH STATS”命令生成完整备份并显示备份进度。默认设置是每 10% 显示一次改进。

这是显示每 2% 后统计数据的另一个示例。

BACKUP DATABASE DatabaseName 
TO DISK = 'C:\DatabaseName_1.BAK'
WITH STATS = 2
GO

8. 创建一个 SQL Server 备份并给出描述:

我们可以创建一个 SQL Server 备份并使用以下语句对其进行描述:

BACKUP DATABASE DatabaseName 
TO DISK = 'C:\DatabaseName_1.BAK'
WITH DESCRIPTION = 'Full backup for DatabaseName'
GO

为了给备份命名,“WITH DESCRIPTION”命令使用了描述选项。这可用于将来的任何恢复命令,以查看备份中的内容。最大字符数为 255。

9. 创建镜像 SQL Server 备份:

我们可以使用以下语句创建镜像 SQL Server 备份:

BACKUP DATABASE DatabaseName 
TO DISK = 'C:\DatabaseName_1.BAK'
MIRROR TO DISK =  'D:\DatabaseName_mirror.BAK'
WITH FORMAT
GO

此选择允许您制作多个备份副本,最好是在不同的位置。

10. 为 SQL Server 备份指定多个选项:



我们可以使用以下语句为 SQL Server 备份指定多个选项:

BACKUP DATABASE DatabaseName 
TO DISK = 'C:\DatabaseName_1.BAK'
MIRROR TO DISK =  'D:\DatabaseName_mirror.BAK'
WITH FORMAT, STATS, PASSWORD = 'Q!W@E#R$'
GO

例子:

创建数据库:

CREATE DATABASE GeeksDB;
GO

要使用此数据库:

USE GeeksDB;
GO

备份这个数据库:

BACKUP DATABASE GeeksDB
TO DISK = 'D:\Backup\GeeksDB.bak'
 WITH FORMAT,
 MEDIANAME = 'GeeksDBBackup',
 NAME = 'Full Backup of GeeksDB';
GO

输出: