1. 介绍
在企业信息化建设中,数据库备份是非常关键的一环。过去,数据备份都是通过手工方式进行备份,效率低、容易出错。而在现在的信息技术高速发展时期,数据库备份我们可以使用MSSQL Server提供的工具。在未来的时代,数据库备份肯定是个趋势,也越来越重要。
2. 备份类型
MSSQL Server的备份方法大致可以分为两类,一类是完整备份,另一类是增量备份。
2.1 完整备份
完整备份就是把整个数据库全部备份下来,无论某一个表的数据是否有变化,它都会被备份。完整备份可以保证备份的数据完整性,但是备份文件较大,而且备份频率过高也会浪费存储空间。
-- 创建一个完整备份
BACKUP DATABASE TestDB TO DISK = 'D:\SQL Server Backups\TestDB.bak' WITH INIT
2.2 增量备份
增量备份之所以叫“增量”,是因为它只备份自最后一次完整备份或加上增量备份以来,所发生的变化的数据。因为增量备份文件较小,所以在数据量较大的时候,它是非常高效的,不会占用太多的存储空间。但是,如果在某次备份之间有其他备份,则你的备份链被中断,可能需要花费一些时间来重新构建它。
-- 创建一个增量备份
BACKUP DATABASE TestDB TO DISK = 'D:\SQL Server Backups\TestDB_Incremental.bak' WITH DIFFERENTIAL
3. 架设MSSQL备份服务器
3.1 环境准备
在开始架设MSSQL备份服务器之前,您需要完成以下任务:
- 在备份服务器上安装SQL Server。
- 配置SQL Server以允许远程连接。
- 确保备份数据库和应用程序数据库服务器都在同一域中。
3.2 创建备份
使用SQL Server Management Studio或TSQL,创建一个备份操作。在备份操作中,指定要备份的数据库、备份设备和备份类型。
-- 创建一个完整备份
BACKUP DATABASE TestDB TO DISK = 'D:\SQL Server Backups\TestDB.bak' WITH INIT
该备份会备份整个数据库,并将它们保存到指定的备份文件中。
3.3 管理备份文件
备份文件应具有恰当的命名约定,以便在未来需要恢复数据库时可以迅速找到。
例如,可以使用以下命名约定:
- 完整备份:TestDB_Full_YYYYMMDD_HHMMSS.bak。
- 增量备份:TestDB_Incremental_YYYYMMDD_HHMMSS.bak。
3.4 为备份作业创建计划
在备份服务器上,创建一个SQL Server代理作业,该作业会执行由MSSQL Server提供的备份操作。
该作业应该包括:
- 定义要备份的数据库和备份文件的位置。
- 定义备份保留期限。
- 定义要周期性运行备份作业的日程安排。
-- 每日晚上10点进行完整备份
BACKUP DATABASE TestDB TO DISK = 'D:\SQL Server Backups\TestDB_Full.bak'
WITH INIT, NOFORMAT, NOINIT, SKIP, REWIND, NOUNLOAD,
STATS = 10
GO
3.5 测试还原
为了确保备份成功,您需要测试还原程序。这很简单:
- 创建一个新的数据库。
- 还原你的备份文件。
-- 创建一个新的数据库
CREATE DATABASE TestDB_Restore
-- 将备份文件还原到新的数据库中
RESTORE DATABASE TestDB_Restore
FROM DISK = 'D:\SQL Server Backups\TestDB.bak'
WITH FILE = 1,
MOVE 'TestDB' TO 'D:\SQL Server Backups\TestDB_Restore.mdf',
MOVE 'TestDB_log' TO 'D:\SQL Server Backups\TestDB_Restore_log.ldf',
NOUNLOAD,
STATS = 10
GO
如果这些命令执行成功,并且在新的数据库中看到的数据与原始数据库中的数据相同,则说明备份和还原过程都是有效的。
4. 总结
备份是每个DBA最重要的任务之一,要想确保数据安全,必须定期备份数据库。通过使用MSSQL Server提供的备份工具,您可以快速、安全地备份数据库,并使用从备份服务器中创建的SQL Server代理作业,将备份存储到指定位置。备份文件名应有良好的命名约定,以便在将来需要恢复数据库时可以找到。最后,测试还原程序以确保备份操作有效。 您可以使用本文介绍的方法,为您的企业配置MSSQL备份服务器,确保您的数据安全。