当前位置:首页 > 数据库 > 正文

sql2012怎么导出数据库备份

SQL Server 2012备份数据库可通过右键数据库选择“任务—备份”,设置路径及文件名,建议定期执行完整备份或根据需求选择差异/日志备份类型

SQL Server 2012 数据库备份基础

备份类型说明

备份类型 适用场景 特点
完整备份 首次备份或需要独立恢复数据时 包含全部数据,恢复速度快
差异备份 在完整备份基础上,仅备份自上次完整备份以来发生变化的数据 减少存储空间,需配合完整备份恢复
事务日志备份 高频数据修改场景(如金融系统) 记录所有事务操作,支持精确恢复

备份文件存储位置

  • 默认路径C:Program FilesMicrosoft SQL ServerMSSQL11.MSSQLSERVERMSSQLBackup
  • 自定义路径:建议存储在独立磁盘阵列,避免与数据库文件同盘
  • 命名规范DBName_BackupType_YYYYMMDD_HHMMSS.bak(如:SalesDB_Full_20230724_153000.bak

通过 SQL Server Management Studio (SSMS) 导出备份

步骤 1:打开备份向导

  1. 启动 SSMS,连接到目标数据库实例
  2. 展开对象浏览器中的 “数据库” → 右键点击需备份的数据库 → 选择 “Tasks”“Back Up…”

步骤 2:配置备份选项

参数 说明
Source 自动显示当前数据库名称
Backup Type 选择 Complete(完整)、Differential(差异)或 Transaction Log
Destination 点击 Add → 选择磁盘路径 → 指定文件名
Backup Components 勾选 DatabaseLog(根据需求)
Options Reliability:启用 Verify backup when finished
Overwrite Media:选择 Overwrite all existing data 或保留历史版本

步骤 3:执行备份

  1. 点击 “OK” 开始备份
  2. 进度条显示完成后,查看 “Messages” 窗口确认成功状态

通过 T-SQL 脚本导出备份

核心语法

BACKUP DATABASE [数据库名] 
TO DISK = 'C:备份路径备份文件.bak' 
WITH NOFORMAT, 
     REANABLE, 
     NAME = '备份描述(如:Full Backup 20230724)', 
     SKIP, 
     NOREWIND, 
     COMPRESSION;

参数说明

参数 作用
NOFORMAT 不重新格式化媒体(防止覆盖已有数据)
REANABLE 备份后使备份介质可重复使用
SKIP 跳过验证错误(谨慎使用)
COMPRESSION 启用备份压缩(需 SQL Server 企业版)

示例脚本

-完整备份示例
BACKUP DATABASE WideWorldImporters 
TO DISK = 'D:SQLBackupsWWI_Full.bak' 
WITH FORMAT, 
     NAME = 'WWI-Full Backup', 
     COMPRESSION;
-差异备份示例
BACKUP DATABASE WideWorldImporters 
TO DISK = 'D:SQLBackupsWWI_Diff.bak' 
WITH DIFFERENTIAL, 
     NAME = 'WWI-Diff Backup', 
     COMPRESSION;
-事务日志备份示例
BACKUP LOG WideWorldImporters 
TO DISK = 'D:SQLBackupsWWI_Log.trn' 
WITH NOREWIND, 
     NAME = 'WWI-Log Backup';

通过 PowerShell 自动化备份

脚本示例

# 定义变量
$instance = "localhost"
$database = "WideWorldImporters"
$backupPath = "D:SQLBackupsWWI_Full.bak"
# 构建备份命令
$cmd = "BACKUP DATABASE [$database] TO DISK = N'$backupPath' WITH NOFORMAT, REANABLE, COMPRESSION"
# 执行 SQLCMD 命令
Invoke-Sqlcmd -ServerInstance $instance -Query $cmd

定时任务配置

  1. 将脚本保存为 .ps1 文件
  2. 在 Windows 任务计划程序中创建任务:
    • 触发器:每天凌晨 2:00
    • 操作:启动 PowerShell 执行脚本
    • 条件:勾选 “唤醒计算机执行任务”

备份策略最佳实践

场景 推荐方案
日常运维 每周1次完整备份 + 每天1次差异备份(低负载系统)
高并发系统 完整备份 + 每15分钟事务日志备份(金融/电商系统)
灾难恢复 异地存储备份文件(如云存储) + 定期验证备份完整性

常见问题解答(FAQs)

Q1:如何验证备份文件是否可用?

A1

sql2012怎么导出数据库备份  第1张

  1. 在 SSMS 中右键点击数据库 → 选择 “Restore Database”
  2. 选择 “Device” → 浏览至备份文件路径
  3. 观察 “Restore Options” 中的 “Error Messages” 区域
  4. 若提示 “The backup set is valid”,则表示文件正常

Q2:备份时提示 “Exclusive Access” 失败如何解决?

A2

  1. 检查是否有其他进程(如杀毒软件扫描)占用备份文件
  2. 在 SSMS 中启用 “Backup Checksum” 选项(可在选项中开启)
  3. 尝试指定无并发访问的专用存储路径
  4. 使用 T-SQL 脚本添加 SKIP 参数绕过验证(慎用)
0