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

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

相关推荐
专注VB编程开发20年5 分钟前
python图片验证码识别selenium爬虫--超级鹰实现自动登录,滑块,点击
数据库·python·mysql
智商偏低5 分钟前
Postgresql导入几何数据(shp,geojson)的几种方式
数据库·postgresql
海心焱9 分钟前
从零开始构建 AI 插件生态:深挖 MCP 如何打破 LLM 与本地数据的连接壁垒
jvm·人工智能·oracle
我是Superman丶34 分钟前
在 PostgreSQL 中使用 JSONB 类型并结合 MyBatis-Plus 实现自动注入,主要有以下几种方案
数据库·postgresql·mybatis
五度易链-区域产业数字化管理平台37 分钟前
「五度易链」行业标准信息数据库简介
大数据·数据库
霖霖总总1 小时前
[小技巧65]深入 InnoDB 页的逻辑存储结构:16KB 页的逻辑全景解析
数据库·mysql
数研小生1 小时前
关键词搜索京东列表API技术对接指南
大数据·数据库·爬虫
野犬寒鸦1 小时前
从零起步学习并发编程 || 第五章:悲观锁与乐观锁的思想与实现及实战应用与问题
java·服务器·数据库·学习·语言模型
VX:Fegn08952 小时前
计算机毕业设计|基于springboot + vue云租车平台系统(源码+数据库+文档)
数据库·vue.js·spring boot·后端·课程设计
Elastic 中国社区官方博客2 小时前
跳过 MLOps:通过 Cloud Connect 使用 EIS 为自管理 Elasticsearch 提供托管云推理
大数据·数据库·人工智能·elasticsearch·搜索引擎·ai·全文检索