SQL Server数据库备份的基本命令:BACKUP DATABASE [数据库名] TO DISK = '备份文件路径.bak'。例如:BACKUP DATABASE MyDB TO DISK = 'C:\Backup\MyDB.bak'。这是在SQL Server Management Studio中执行的完整备份语句,确保数据库完整性。
完整备份步骤
1. 打开SQL Server Management Studio(SSMS)。2. 连接到数据库服务器。3. 在对象资源管理器中展开数据库,右键点击需要备份的数据库,选择任务 > 备份。4. 在备份数据库对话框中,选择完整备份类型,指定备份位置。5. 点击确定开始备份。备份完成后,检查.bak文件是否存在。
使用T-SQL命令备份
使用T-SQL进行备份更灵活。打开新查询窗口,输入:BACKUP DATABASE AdventureWorks2012 TO DISK = 'C:\Backup\AdventureWorks2012.Bak' WITH FORMAT, MEDIANAME = 'AdventureWorks2014', NAME = 'Full Backup of AdventureWorks'。执行后,备份文件生成。
差异备份和日志备份
差异备份:BACKUP DATABASE MyDB TO DISK = 'C:\Backup\MyDB_Diff.bak' WITH DIFFERENTIAL。事务日志备份:BACKUP LOG MyDB TO DISK = 'C:\Backup\MyDB_Log.trn'。这些备份结合完整备份用于点时间恢复。
自动化备份脚本
创建SQL Agent作业:右键SQL Server Agent > 新建作业。添加步骤,选择T-SQL,输入备份命令。设置计划,每天凌晨执行。测试作业运行,确保备份成功。
备份验证
备份后验证:RESTORE VERIFYONLY FROM DISK = 'C:\Backup\MyDB.bak'。这会检查备份文件的完整性而不恢复数据。
恢复数据库
恢复命令:RESTORE DATABASE MyDB FROM DISK = 'C:\Backup\MyDB.bak' WITH REPLACE。指定NORECOVERY如果要应用日志。
FAQ
Q: 如何备份所有数据库?
A: 使用sp_executesql动态生成BACKUP DATABASE命令循环所有用户数据库。
Q: 备份文件太大怎么办?
A: 使用压缩选项BACKUP DATABASE ... WITH COMPRESSION,或分条带备份到多个文件。
Q: 备份失败常见原因?
A: 磁盘空间不足、权限问题、数据库正在使用中,检查错误日志。
Q: 云数据库怎么备份?
A: Azure SQL使用自动化导出或Geo-Redundant备份,RDS使用快照功能。