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';
四、远程管理工具
  1. SQL Server Management Studio (SSMS)

    • 通过远程连接到 SQL Server 实例,直接执行备份 / 还原操作。
  2. 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"
五、注意事项
  1. 权限要求:执行备份 / 还原需 db_ownersysadmin 权限。
  2. 恢复模式:简单恢复模式不支持事务日志备份。
  3. 文件路径冲突:还原时确保目标路径不存在同名文件。
  4. 网络问题:远程操作需确保防火墙开放 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

众里寻他千百度,蓦然回首,却在灯火阑珊处...

相关推荐
老华带你飞2 小时前
旅游|基于Java旅游信息系统(源码+数据库+文档)
java·开发语言·数据库·vue.js·spring boot·旅游
释怀°Believe2 小时前
javaweb
数据库·sql·oracle
Clarence Liu2 小时前
redis学习 (1) 基础入门
数据库·redis·学习
天生励志1232 小时前
Redis 安装部署
数据库·redis·缓存
北半球的夜2 小时前
emoji 表情符号保存问题
数据库·oracle
Xudde.3 小时前
BabyPass靶机渗透
笔记·学习·安全·web安全
清风6666663 小时前
基于单片机的智能家居多参数环境监测与联动报警系统设计
数据库·单片机·毕业设计·智能家居·课程设计·期末大作业
云计算练习生3 小时前
渗透测试行业术语—— 网络攻击方式与漏洞利用
服务器·网络·安全·渗透测试术语·网络安全术语
煎蛋学姐3 小时前
SSM社区医院儿童预防接种管理系统84ui9(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面
数据库·ssm 框架·儿童预防接种
锡兰_CC3 小时前
无缝触达,卓越体验:开启openEuler世界的任意门
服务器·网络·数据库·c++·图像处理·qt·nginx