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

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

相关推荐
好奇的菜鸟5 小时前
Spring Boot 事务失效问题:同一个 Service 类中方法调用导致事务失效的原因及解决方案
数据库·spring boot·sql
岁岁岁平安6 小时前
Redis基础学习(五大值数据类型的常用操作命令)
数据库·redis·学习·redis list·redis hash·redis set·redis string
小光学长7 小时前
基于vue框架的防疫科普网站0838x(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
数据库
极限实验室8 小时前
使用 Docker Compose 简化 INFINI Console 与 Easysearch 环境搭建
数据库·docker·devops
飞翔的佩奇8 小时前
Java项目:基于SSM框架实现的旅游协会管理系统【ssm+B/S架构+源码+数据库+毕业论文】
java·数据库·mysql·毕业设计·ssm·旅游·jsp
智海观潮8 小时前
Flink CDC支持Oracle RAC架构CDB+PDB模式的实时数据同步吗,可以上生产环境吗
大数据·oracle·flink·flink cdc·数据同步
小安运维日记10 小时前
CKS认证 | Day4 最小化微服务漏洞
安全·docker·微服务·云原生·容器·kubernetes
float_六七10 小时前
SQL六大核心类别全解析
数据库·sql·oracle
Bruce_Liuxiaowei10 小时前
安全分析:Zabbix 路径探测请求解析
安全·网络安全·zabbix
weixin_4723394611 小时前
网络安全核心技术解析:权限提升(Privilege Escalation)攻防全景
安全·web安全