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

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

相关推荐
SelectDB19 分钟前
天翼云与飞轮科技达成战略合作,共筑云数融合新生态
大数据·数据库·数据分析
学习网安的doro1 小时前
3a服务器的基本功能1之身份认证
服务器·网络·学习·安全·身份认证·ac
望获linux1 小时前
【实时Linux实战系列】实时数据流处理框架分析
linux·运维·前端·数据库·chrome·操作系统·wpf
野犬寒鸦3 小时前
Pipeline功能实现Redis批处理(项目批量查询点赞情况的应用)
java·服务器·数据库·redis·后端·缓存
꧁༺摩༒西༻꧂3 小时前
Spring Boot Actuator 监控功能的简介及禁用
java·数据库·spring boot
程序员JerrySUN3 小时前
当前主流GPU全景讲解:架构、功能与应用方向
数据库·人工智能·驱动开发·redis·缓存·架构
__Smile°3 小时前
kubeadm-k8s 中的 etcd 备份与恢复
数据库·docker·云原生·容器·kubernetes·etcd
Runing_WoNiu4 小时前
最佳左前缀法则(Optimal Left-Prefix Rule)
数据库·mysql
IvorySQL4 小时前
如何使用 pg_rman 进行 PostgreSQL 的备份与恢复
数据库
iknow1814 小时前
【Web安全】csrf、ssrf和xxe的区别
安全·web安全