SQL SERVER 备份

本文详细介绍了SQL Server数据库的备份概念,包括全备份、差异备份和日志备份的模式。通过SSMS和T-SQL展示了如何执行数据库备份,强调了备份的重要性和权限管理。此外,还涵盖了创建加密备份和维护计划,确保数据库的安全与高效管理。
摘要由CSDN通过智能技术生成

目录

1.备份概念

1.1 为何备份?

1.2 SQL Server 备份模式

2.SQL Server 数据库备份

2.1 借助SSMS备份数据库

2.2 借助 T-SQL 备份数据库

2.3 创建加密备份

2.4 备份文件和文件组

权限

步骤

2.5 备份事务日志

3.维护计划

3.1 完整备份 

3.2 差异备份 


1.备份概念

1.1 为何备份?

SQL Server 备份是通过复制 SQL Server 数据库中的数据记录或复制其事务日志中的日志记录来创建备份。

备份 SQL Server 数据库防止数据库因用户错误(例如,误删除了某个表)、硬件故障(例如,磁盘驱动器损坏或服务器报废)、自然灾难等原因导致数据丢失。

1.2 SQL Server 备份模式

SQL Server 的备份有三种形式:

  • (1)全备份full backup),数据库有数据文件与日志文件两种方式,全备份是将所有的缓存先 flush到磁盘上,不管在进行的事务是否提交,这样保证了日志的连续性,数据与日志的一致性。如果事务没提交 ,在日志文件上的标记是active的,这段日志也就不会被清空,下次恢复的时候,就从这段日志开始,接着使用新的日志执行。因此 全备份之前肯定会执行一次 checkpoint 。
  • (2)差异备份differential backup),先执行checkpoint,然后再将上一次备份之后,发生数据页变化的这些数据页都备份起来,这部分备份就不会有日志。但是和全备份一样,备份的容积体量比较大,差异备份备份的是数据页,不管这一页是不是只有一条数据更改了,还是全部更改了。
  • 差异备份相对全备份,优越的地方在于备份数据量少,但是差异备份不能独立存在,差异备份必须以一个全备份做基准,在这基础之上再判断哪些数据页是有过更新的,这些更新的数据页计算出来并被备份起来。
  • (3)日志备份(transaction log backup), 日志备份中需要注意的就是对未提交事务的理解,没有提交的事务其实还是占用日志文件的VLF,shrink并不能回收日志空间;提交事务的日志如被备份之后,就会将日志VLF打上unactive或者truncated标记,这个时候执行shrink就可以回收这部分日志VLF了。日志备份体量小,比较适合频率高的执行,比如每5分钟执行一次。

2.SQL Server 数据库备份

2.1 借助SSMS备份数据库

SSMS并连接到您的实例,然后在对象资源管理器中右键单击要备份的数据库,选择任务 —> 备份

在弹出的备份数据库窗口中,您可以进行以下设置:

  • 数据库,您可以在这里从下拉列表中选择服务器上的任何数据库
  • 备份类型,默认类型为“完整”,如果想执行SQL Server差异备份或事务日志备份的话,前提是执行过一次及以上的完整数据库备份
  • 备份组件,在这里请您选择“数据库”
  • 备份到,选择“磁盘”并查看备份文件的默认位置(在.../mssql/backup文件夹中)

2.2 借助 T-SQL 备份数据库

(1)将数据库的恢复模式由完整模式修改为简单恢复模式,点击数据库对象右键选着属性,然后选着选项,将恢复模式由完整修改为简单模式。修改为简单模式的原因是使 sql server 立即将内存中的数据写入到磁盘中,保证了用户的操作数据不会丢失。

SQL Server 中,可以使用以下方法进行备份: 1. 使用 SQL Server Management Studio (SSMS) 进行备份: - 打开 SSMS,连接到 SQL Server 数据库实例。 - 在“对象资源管理器”中,右键单击要备份数据库,选择“任务”>“备份数据库”。 - 在“备份数据库”对话框中,选择备份类型、备份文件的位置和名称,以及备份选项。 - 单击“确定”开始备份。 2. 使用 Transact-SQL 进行备份: - 打开 SQL Server Management Studio,连接到 SQL Server 数据库实例。 - 打开新查询窗口,输入以下 Transact-SQL 命令: ``` BACKUP DATABASE database_name TO DISK = 'backup_file_path' WITH FORMAT, INIT, SKIP, NOREWIND ``` 其中,`database_name` 是要备份数据库名称,`backup_file_path` 是备份文件的路径和名称,`FORMAT` 表示要覆盖现有备份,`INIT` 表示要初始化备份设备,`SKIP` 表示要跳过备份磁带上的一些区域,`NOREWIND` 表示不将磁带倒回到起始位置。 - 执行命令开始备份。 3. 使用 PowerShell 进行备份: - 打开 PowerShell 命令提示符,连接到 SQL Server 数据库实例。 - 输入以下 PowerShell 命令: ``` Backup-SqlDatabase -ServerInstance "server_instance_name" -Database "database_name" -BackupFile "backup_file_path" -CompressionOption On ``` 其中,`server_instance_name` 是 SQL Server 实例名称,`database_name` 是要备份数据库名称,`backup_file_path` 是备份文件的路径和名称,`CompressionOption On` 表示启用备份压缩。 - 执行命令开始备份。 以上是 SQL Server 备份的三种方法,可以根据需要选择适合自己的方法进行备份
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

「已注销」

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值