SQLSERVER backup 命令总结

2022-09-20 16:11:34 浏览数 (1)

◆ 一、概述

SQLSERVER有两个命令用于创建备份,分别是:

  • BACKUP DATABASE
  • BACKUP LOG

这些命令具有可用于创建完整、差异、文件、事务日志备份等的各种选项,以及用于指定备份命令应如何运行以及与备份如何存储的其他选项。

◆ 二、BACKUP DATABASE

BACKUP DATABASE命令提供了许多用于创建备份的选项,这使您可以根据你使用的选项对数据库进行完整备份、差异备份、文件备份等。

◆ 2.1 创建完整的 SQL Server 备份到磁盘

该命令是 BACKUP DATABASE 数据库名称。“TO DISK”选项指定应将备份写入磁盘,并指定创建备份的位置和文件名。

代码语言:javascript复制
BACKUP DATABASE AdventureWorks 
TO DISK = 'C:AdventureWorks.BAK'
GO

◆ 2.2 创建差异 SQL Server 备份

此命令添加“WITH DIFFERENTIAL”选项。

代码语言:javascript复制
BACKUP DATABASE AdventureWorks 
TO DISK = 'C:AdventureWorks.BAK' 
WITH DIFFERENTIAL 
GO

◆ 2.3 创建文件级 SQL Server 备份

此命令使用“WITH FILE”选项指定文件备份。您需要指定数据库中的逻辑文件名,该文件名可以通过使用命令 sp_helpdb 'databaseName' 获得,并指定数据库的名称。

代码语言:javascript复制
BACKUP DATABASE TestBackup FILEGROUP = 'ReadOnly' 
TO DISK = 'C:TestBackup_ReadOnly.FLG'
GO

◆ 2.4 创建文件组 SQL Server 备份

此命令使用“WITH FILEGROUP”选项指定文件组备份。您需要从数据库中指定文件组名称,该名称可以通过使用命令 sp_helpdb 'databaseName' 获得,并指定数据库的名称。

代码语言:javascript复制
BACKUP DATABASE TestBackup FILEGROUP = 'ReadOnly' 
TO DISK = 'C:TestBackup_ReadOnly.FLG'
GO

◆ 2.5 创建多个磁盘文件的完整的 SQL Server 备份

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

代码语言:javascript复制
BACKUP DATABASE AdventureWorks 
TO DISK = 'C:AdventureWorks_1.BAK',
DISK = 'D:AdventureWorks_2.BAK',
DISK = 'E:AdventureWorks_3.BAK'
GO

◆ 2.6 使用密码创建完整的 SQL Server 备份

此命令创建一个带有密码的备份,在还原数据库时需要提供该密码。

代码语言:javascript复制
BACKUP DATABASE AdventureWorks 
TO DISK = 'C:AdventureWorks.BAK'
WITH PASSWORD = 'Q!W@E#R$'
GO

◆ 2.7 使用进度统计信息创建完整的 SQL Server 备份

此命令创建完整备份并显示备份进度。默认是每 10% 后显示进度。

代码语言:javascript复制
BACKUP DATABASE AdventureWorks 
TO DISK = 'C:AdventureWorks.BAK'
WITH STATS
GO

这是另一个显示每 1% 后的统计信息的选项。

代码语言:javascript复制
BACKUP DATABASE AdventureWorks 
TO DISK = 'C:AdventureWorks.BAK'
WITH STATS = 1
GO

◆ 2.8 创建 SQL Server 备份并为其提供说明

此命令使用描述选项为备份命名。这可以稍后与某些还原命令一起使用,以查看备份中包含的内容。最大大小为 255 个字符。

代码语言:javascript复制
BACKUP DATABASE AdventureWorks 
TO DISK = 'C:AdventureWorks.BAK'
WITH DESCRIPTION = 'Full backup for AdventureWorks'
GO

◆ 2.9 创建镜像 SQL Server 备份

此选项允许您创建备份的多个副本,最好是到不同的位置。

代码语言:javascript复制
BACKUP DATABASE AdventureWorks 
TO DISK = 'C:AdventureWorks.BAK'
MIRROR TO DISK =  'D:AdventureWorks_mirror.BAK'
WITH FORMAT
GO

◆ 2.10 为 SQL Server 备份指定多个选项

下一个示例展示了如何同时使用多个选项。

代码语言:javascript复制
BACKUP DATABASE AdventureWorks 
TO DISK = 'C:AdventureWorks.BAK'
MIRROR TO DISK =  'D:AdventureWorks_mirror.BAK'
WITH FORMAT, STATS, PASSWORD = 'Q!W@E#R$'
GO

◆ 三、备份事务日志的 BACKUP LOG

BACKUP LOG 命令为您提供了许多用于创建事务日志备份的选项。以下是不同的例子。

◆ 3.1 创建一个简单的 SQL Server 事务日志备份到磁盘

该命令是 BACKUP LOG 数据库名称。“TO DISK”选项指定应将备份写入磁盘,并指定创建备份的位置和文件名。文件扩展名为“TRN”。这有助于我知道它是一个事务日志备份,但它可以是您喜欢的任何扩展。此外,数据库必须处于FULL或Bulk-Logged恢复模式,并且必须至少进行一次完整备份

代码语言:javascript复制
BACKUP LOG AdventureWorks 
TO DISK = 'C:AdventureWorks.TRN'
GO

◆ 3.2 Create a SQL Server log backup with a password

此命令创建一个带有密码的日志备份,在还原数据库时需要提供该密码。

代码语言:javascript复制
BACKUP LOG AdventureWorks 
TO DISK = 'C:AdventureWorks.TRN'
WITH PASSWORD = 'Q!W@E#R$'
GO

◆ 3.3 使用进度统计信息创建 SQL Server 日志备份

此命令创建日志备份并显示备份进度。默认是每 10% 后显示进度。

代码语言:javascript复制
BACKUP LOG AdventureWorks 
TO DISK = 'C:AdventureWorks.TRN'
WITH STATS
GO

这是另一个显示每 1% 后的统计信息的选项。

代码语言:javascript复制
BACKUP LOG AdventureWorks 
TO DISK = 'C:AdventureWorks.TRN'
WITH STATS = 1
GO

◆ 3.4 创建 SQL Server 备份并为其提供说明

此命令使用描述选项为备份命名。这可以稍后与某些还原命令一起使用,以查看备份中包含的内容。最大大小为 255 个字符。

代码语言:javascript复制
BACKUP LOG AdventureWorks 
TO DISK = 'C:AdventureWorks.TRN'
WITH DESCRIPTION = 'Log backup for AdventureWorks'
GO

◆ 3.5 创建镜像 SQL Server 事务日志备份

此选项允许您创建备份的多个副本,最好是到不同的位置。

代码语言:javascript复制
BACKUP LOG AdventureWorks 
TO DISK = 'C:AdventureWorks.TRN'
MIRROR TO DISK =  'D:AdventureWorks_mirror.TRN'
WITH FORMAT
GO

◆ 3.6 为 SQL Server 事务日志备份指定多个选项

此示例显示了如何同时使用多个选项

代码语言:javascript复制
BACKUP LOG AdventureWorks 
TO DISK = 'C:AdventureWorks.TRN'
MIRROR TO DISK =  'D:AdventureWorks_mirror.TRN'
WITH FORMAT, STATS, PASSWORD = 'Q!W@E#R$'
GO

来源:

https://www.toutiao.com/article/7142330967691510310/?log_from=9dc14201ea131_1663204342234

“IT大咖说”欢迎广大技术人员投稿,投稿邮箱:aliang@itdks.com

来都来了,走啥走,留个言呗~

 IT大咖说  |  关于版权

由“IT大咖说(ID:itdakashuo)”原创的文章,转载时请注明作者、出处及微信公众号。投稿、约稿、转载请加微信:ITDKS10(备注:投稿),茉莉小姐姐会及时与您联系!

感谢您对IT大咖说的热心支持!

  • 相关推荐 推荐文章
  • MyBatisPlus又在搞事了!一个依赖轻松搞定权限问题!堪称神器
  • 领导不懂IT技术,分不清报表和BI,看完这篇文章就懂了
  • MIT开源协议,一款百分百开源、支持商用的亚马逊ERP系统
  • 从架构师的角度带你把“响应式编程”给一次性搞明白,果然绝绝子
  • 替代ELK:ClickHouse Kafka FlieBeat才是最绝的
  • RedisJson 横空出世,比 ES 快7 倍,惊爆了
  • 开源文件备份同步神器-DSynchronize
  • 缓存层场景实战读缓存,如何更新缓存 缓存的高可用设计 监控
  • 天天提交代码,git commit 提交时能规范一下吗?
  • 极致的微前端框架,成本低、速度快、原生隔离、功能强
  • 为什么工作三年的程序员还不懂APM与调用链技术?

0 人点赞