DBA | 如何将 .bak 的数据库备份文件导入到SQL Server 数据库中?

知识是人生的灯塔,只有不断学习,才能照亮前行的道路

原文链接:DBA | 如何将 .bak 的数据库备份文件导入到SQL Server 数据库中?


如何将(.bak)的SQL Server 数据库备份文件导入到当前数据库中?

Step 1.登录到 Sql Server 服务器中,打开 SQL Server Management Studio,查看当前数据库版本信息。

go 复制代码
> select @@version;
  -- Microsoft SQL Server 2008 R2 (RTM) - 10.50.1600.1 (X64)   Apr  2 2010 15:48:46   
  -- Copyright (c) Microsoft Corporation  Enterprise Edition (64-bit) on Windows NT 6.2 <X64> (Build 9200: ) (Hypervisor)

Step 2.将要导入的数据库文件上传到SQL Server服务器,例如,此处 SQL Server Database Backup File (.bak) 格式的czbm201401221113.bak文件为例; 选中数据库右键新建数据库


weiyigeek.top-新建一个数据库图

Step 3.输入新建的数据库名称czbm,请根据实际情况进行调整数据库文件,选项,以及文件组中的相关参数,最后点击"确定"按钮。


weiyigeek.top-创建czbm数据库图

Step 4.选择创建的数据库,右键点击"任务"->"还原数据库",选择备份文件,点击确定即可。


weiyigeek.top-还原数据库选项图

Step 5.在还原数据库中,选择源设备,在磁盘选择要还原的数据库bak文件,点击确定即可,点击【选项】,勾选覆盖现有数据库(WITH REPLACE),其他选项请根据需要进行选择,最后点击确认。


weiyigeek.top-选择还原的bak备份文件图

Step 6.还原成功后,将会在界面弹出【对数据库czbm的还原已成功完成】,此时回到 SQL Server Management Studio中,将会看到还原的的数据库表。

除此之外,我们还可以采用SQL语句导入数据库文件,选中某个数据库文件,右键点击【新建查询】,再代码界面输入如下代码,点击F5键或者点击运行按钮即可。

go 复制代码
-- 创建数据库
CREATE DATABASE [WEIYIGEEK_2023]
ON
PRIMARY
(
  NAME = N'WEIYIGEEK_2023',
  FILENAME = N'D:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\WEIYIGEEK_2023.mdf',
  SIZE = 3072KB,
  MAXSIZE = UNLIMITED,
  FILEGROWTH = 1MB
)
LOG ON
(
  NAME = N'WEIYIGEEK_2023_log',
  FILENAME = N'D:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\WEIYIGEEK_2023_log.ldf',
  SIZE = 1024KB,
  MAXSIZE = UNLIMITED,
  FILEGROWTH = 10MB
)
GO

ALTER DATABASE [WEIYIGEEK_2023] COLLATE Chinese_PRC_CI_AS
GO

ALTER DATABASE [WEIYIGEEK_2023] SET RECOVERY FULL
GO
EXEC [WEIYIGEEK_2023].dbo.sp_changedbowner N'Sa'


-- 备份操作
BACKUP DATABASE [WEIYIGEEK_2023]
TO
  DISK = N'D:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\Backup\WEIYIGEEK_2023-Backup.bak'
WITH
  NAME = N'WEIYIGEEK_2023-Backup',
  NOFORMAT, INIT, SKIP,
  STATS = 5

-- 还原操作
RESTORE DATABASE [WEIYIGEEK_2023] 
FROM
  DISK = N'D:\BACKUP\WEIYIGEEK_2023-Backup.bak'
WITH
  FILE = 1,
  MOVE N'TEST' TO 'D:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\WEIYIGEEK_2023.mdf', 
  MOVE N'TEST_log' TO 'D:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\WEIYIGEEK_2023.ldf', 

-- 还原操作(覆盖现有数据库)
RESTORE DATABASE [WEIYIGEEK_2023] 
FROM
  DISK = N'D:\BACKUP\WEIYIGEEK_2023-Backup.bak'
WITH
  REPLACE,
  MOVE N'TEST' TO 'D:\BACKUP\DATA\WEIYIGEEK_2023.mdf', 
  MOVE N'TEST_log' TO 'D:\BACKUP\DATA\WEIYIGEEK_2023.ldf';
  
-- 执行结果 
-- > 已为数据库 'WEIYIGEEK_2023',文件 'TEST' (位于文件 1 上)处理了 80304 页。
-- > 已为数据库 'WEIYIGEEK_2023',文件 'TEST_log' (位于文件 1 上)处理了 1 页。
-- > RESTORE DATABASE 成功处理了 80305 页,花费 106.886 秒(5.869 MB/秒)。
-- > Affected rows: 0Affected rows: 0Affected rows: 0
-- > 时间: 131.389s

支持原文:DBA | 如何将 .bak 的数据库备份文件导入到SQL Server 数据库中?

若文章写得不错,不要吝惜手中转发,点赞、在看,若有疑问的小伙伴,可在评论区留言你想法哟💬!

温馨提示:作者最近10年的工作学习笔记(涉及网络、安全、运维、开发),需要学习实践笔记的看友,可添加作者账号[WeiyiGeeker],当前价格¥199,除了获得从业笔记的同时还可进行问题答疑以及每月远程技术支持,希望大家多多支持,收获定大于付出!


如果此篇文章对你有帮助,请你将它转发给更多的人!

学习推荐 往期文章

相关推荐
一屉大大大花卷14 分钟前
初识Neo4j之入门介绍(一)
数据库·neo4j
周胡杰1 小时前
鸿蒙arkts使用关系型数据库,使用DB Browser for SQLite连接和查看数据库数据?使用TaskPool进行频繁数据库操作
前端·数据库·华为·harmonyos·鸿蒙·鸿蒙系统
wkj0011 小时前
navicate如何设置数据库引擎
数据库·mysql
赵渝强老师1 小时前
【赵渝强老师】Oracle RMAN的目录数据库
数据库·oracle
暖暖木头1 小时前
Oracle注释详解
数据库·oracle
御控工业物联网1 小时前
御控网关如何实现MQTT、MODBUS、OPCUA、SQL、HTTP之间协议转换
数据库·sql·http
GJCTYU3 小时前
spring中@Transactional注解和事务的实战理解附代码
数据库·spring boot·后端·spring·oracle·mybatis
MicroTech20253 小时前
微算法科技(NASDAQ: MLGO)探索Grover量子搜索算法,利用量子叠加和干涉原理,实现在无序数据库中快速定位目标信息的效果。
数据库·科技·算法
Code季风3 小时前
SQL关键字快速入门:CASE 实现条件逻辑
javascript·数据库·sql
weixin_478689763 小时前
操作系统【2】【内存管理】【虚拟内存】【参考小林code】
数据库·nosql