SmartSoftHelp 之 SQL Server 数据库安全备份与安全还原详解---深度优化版:SmartSoftHelp DeepCore XSuite
SmartSoftHelp 菜单之 DBMS 数据库备份与还原 (DBBackRest) 使用实例
SQL Server 数据库备份与还原详解
SQL Server 数据库的备份与还原是管理数据库的核心任务之一,涉及本地与远程操作、大小监控及目录管理等多个方面。以下是详细说明:
一、数据库备份
1. 备份类型
- 完整备份:备份整个数据库(包括事务日志)。
- 差异备份:仅备份自上次完整备份后更改的数据。
- 事务日志备份:备份自上次日志备份以来的事务日志(需使用完整恢复模式)。
2. 本地备份命令
sql
-- 完整备份示例
BACKUP DATABASE YourDatabase
TO DISK = 'D:\Backup\YourDatabase.bak'
WITH FORMAT, INIT;-- 差异备份示例
BACKUP DATABASE YourDatabase
TO DISK = 'D:\Backup\YourDatabase_Diff.bak'
WITH DIFFERENTIAL;-- 事务日志备份示例
BACKUP LOG YourDatabase
TO DISK = 'D:\Backup\YourDatabase_Log.trn';
3. 远程备份(通过网络共享)
sql
-- 备份到网络共享路径
BACKUP DATABASE YourDatabase
TO DISK = '\\RemoteServer\BackupShare\YourDatabase.bak';
注意:
- SQL Server 服务账户需有访问远程共享的权限。
- 确保网络路径可访问(使用
xp_cmdshell 'dir \\RemoteServer\BackupShare'
测试)。
二、数据库还原
1. 还原流程
- 恢复完整备份 → 恢复差异备份(如果有)→ 恢复事务日志备份(按顺序)。
2. 本地还原命令
sql
-- 还原完整备份(NORECOVERY 允许后续还原)
RESTORE DATABASE YourDatabase
FROM DISK = 'D:\Backup\YourDatabase.bak'
WITH NORECOVERY;-- 还原差异备份
RESTORE DATABASE YourDatabase
FROM DISK = 'D:\Backup\YourDatabase_Diff.bak'
WITH NORECOVERY;-- 还原事务日志并完成恢复
RESTORE LOG YourDatabase
FROM DISK = 'D:\Backup\YourDatabase_Log.trn'
WITH RECOVERY;
3. 远程还原(从网络共享)
sql
-- 从网络共享还原
RESTORE DATABASE YourDatabase
FROM DISK = '\\RemoteServer\BackupShare\YourDatabase.bak';
4. 还原到新位置(重定位文件)
sql
-- 还原时指定新的数据文件和日志文件路径
RESTORE DATABASE NewDatabaseName
FROM DISK = 'D:\Backup\YourDatabase.bak'
WITH MOVE 'YourDatabase_Data' TO 'E:\Data\NewDatabaseName.mdf',MOVE 'YourDatabase_Log' TO 'F:\Logs\NewDatabaseName.ldf';
三、查看数据库大小与目录地址
1. 查看数据库大小
sql
-- 查看所有数据库大小
EXEC sp_spaceused;-- 查看单个数据库详细大小
SELECT name AS '文件名',size/128.0 AS '大小(MB)',size/128.0 - CAST(FILEPROPERTY(name, 'SpaceUsed') AS INT)/128.0 AS '可用空间(MB)',physical_name AS '物理路径'
FROM sys.database_files;
2. 查看数据库文件路径
sql
-- 查看当前数据库的文件路径
SELECT name, physical_name AS '文件路径'
FROM sys.master_files
WHERE database_id = DB_ID('YourDatabase');-- 查看默认备份目录
EXEC xp_instance_regread N'HKEY_LOCAL_MACHINE', N'SOFTWARE\Microsoft\MSSQLServer\MSSQLServer', N'BackupDirectory';
四、远程管理工具
- SQL Server Management Studio (SSMS)
- 通过远程连接到 SQL Server 实例,直接执行备份 / 还原操作。
- PowerShell
powershell
# 备份数据库 Backup-SqlDatabase -ServerInstance "RemoteServer\Instance" -Database "YourDatabase" -BackupFile "D:\Backup\YourDatabase.bak"# 还原数据库 Restore-SqlDatabase -ServerInstance "RemoteServer\Instance" -Database "NewDatabase" -BackupFile "D:\Backup\YourDatabase.bak"
五、注意事项
- 权限要求:执行备份 / 还原需
db_owner
或sysadmin
权限。 - 恢复模式:简单恢复模式不支持事务日志备份。
- 文件路径冲突:还原时确保目标路径不存在同名文件。
- 网络问题:远程操作需确保防火墙开放 SQL Server 端口(默认 1433)。
通过以上方法,你可以全面管理 SQL Server 数据库的备份、还原及相关配置。根据实际需求选择合适的备份策略,并定期测试恢复流程以确保数据安全性。
SmartSoftHelp DeepCore XSuite:下载:
1.GitHub(托管)
https://github.com/512929249/smartsofthelp.githttps://github.com/512929249/smartsofthelp.git
2.Gitee(码云)
SmartSoftHelp: SmartSoftHelp DeepCore XSuite做世界一流的,最好的,最优秀,最简单,最流畅,最实用的.Net C#辅助开发工具
SmartSoftHelp: SmartSoftHelp DeepCore XSuite做世界一流的,最好的,最优秀,最简单,最流畅,最实用的.Net C#辅助开发工具https://gitee.com/sky512929249/smartsofthelp.git
众里寻他千百度,蓦然回首,却在灯火阑珊处...