在日常运维或开发过程中,我们经常需要将 sql server 数据库的 .bak 备份文件 恢复到新的环境或本地测试环境。无论你是数据库管理员、后端开发工程师,还是刚开始接触 sql server,本篇文章都将教你如何通过 sql server management studio(ssms) 进行 .bak 文件的完整还原。
下面将以最常见的 ssms 图形界面操作为例,详细说明整个恢复流程,以及常见问题的解决办法。
⭐ 适用版本
- sql server 2008 / 2012 / 2014 / 2016 / 2017 / 2019 / 2022
- ssms 各版本(18.x / 19.x)
一、准备工作
在开始操作之前,你需要:
- 一个 sql server 数据库实例(本地或远程)
- 已安装的 sql server management studio(ssms)
- 一份
.bak备份文件
提示:
如果你的 .bak 文件来自其他服务器,它内部记录的物理文件路径(mdf/ldf)可能与本机不一致,这点在后文会讲到。
二、通过 ssms 还原 .bak 文件(核心步骤)
以下为图形化界面操作步骤,简单易上手。
步骤 1:打开 ssms 并连接数据库
启动 ssms,输入你的 sql server 地址与账号密码,连接到目标实例。
步骤 2:右键 databases → restore database…
在左侧对象资源管理器中:
databases(数据库) → 右键 → restore database…(还原数据库)
进入还原界面。
步骤 3:选择备份来源(source)
在 source 中选择:
✔ device(设备)
然后点击右侧的 […] 按钮。
步骤 4:添加 .bak 文件
在弹出的窗口中:
- 点击 add(添加)
- 找到你的
.bak文件路径 - 添加后点击 ok
你会看到备份集被列在下方表格里。
步骤 5:选择还原目标数据库(destination)
在 “destination” 部分:
- 如果你是恢复一个新数据库,可以输入一个新的数据库名称;
- 如果你要覆盖已有数据库,保持名称一致即可。
步骤 6:进入 options(重要设置)
左侧选择 options,几个常用且重要的选项如下:
✔ overwrite the existing database (with replace)
如果你要覆盖现有数据库,一定要勾选。
✔ close existing connections
如果某个数据库正在被占用(常见于生产库或多人环境),必须勾选此项才能关闭连接。
✔ restore as(文件路径修正)
如果恢复时报错 ...cannot open the physical file…,这里可以修改 mdf/ldf 的路径到你本地存在的目录。
步骤 7:点击 ok 开始恢复
等待数秒到数分钟即可看到:
database restored successfully
至此,你已经成功通过 ssms 完整恢复了一个 .bak 数据库!
三、还原数据库常见错误与解决办法
以下是经常遇到的问题及解决方法。
1. 无法访问备份文件(错误 3201)
原因是 sql server 服务账号没有权限访问你放 .bak 文件的目录。
解决方法:
把 .bak 文件移动到 sql server 默认的 backup 目录,例如:
c:\program files\microsoft sql server\mssql15.mssqlserver\mssql\backup\
2. 数据库正在使用,无法覆盖
报错提示:
the tail of the log for the database has not been backed up...
解决方法:
✔ 勾选
- close existing connections
- overwrite (with replace)
❗ 3. 逻辑路径不一致导致报错(常见于不同机器迁移)
报错类似:
cannot open the physical file “d:\dbdata\xxx.mdf”
原因:备份文件内部的 mdf/ldf 物理路径与你本机不一致。
解决方案:
在 options → relocate all files 修改路径为本机存在的路径,例如:
c:\program files\microsoft sql server\mssql15.mssqlserver\mssql\data\
四、t-sql 命令行还原(可选)
如果你喜欢用脚本,也可以用命令行方式还原:
restore database mydb from disk = 'd:\backup\mydb.bak' with replace, move 'mydb' to 'c:\sqldata\mydb.mdf', move 'mydb_log' to 'c:\sqldata\mydb_log.ldf';
适用于自动化脚本或批量操作。
五、总结
通过 sql server management studio 还原 .bak 文件的过程其实很简单,只需几分钟即可完成。关键步骤在于:
- 选择 device 添加 .bak 文件
- 配置目标数据库
- options 中处理文件路径与覆盖数据库问题
- 解决权限和路径不一致的常见错误
无论你是在本地开发环境恢复数据,还是在服务器迁移数据库,相同的流程都非常适用。
到此这篇关于如何使用 sql server management studio还原 .bak 备份文件的文章就介绍到这了,更多相关sql server management studio还原.bak文件内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!
发表评论