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,除了获得从业笔记的同时还可进行问题答疑以及每月远程技术支持,希望大家多多支持,收获定大于付出!


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

学习推荐 往期文章

相关推荐
远歌已逝2 小时前
维护在线重做日志(二)
数据库·oracle
qq_433099403 小时前
Ubuntu20.04从零安装IsaacSim/IsaacLab
数据库
Dlwyz3 小时前
redis-击穿、穿透、雪崩
数据库·redis·缓存
工业甲酰苯胺5 小时前
Redis性能优化的18招
数据库·redis·性能优化
没书读了6 小时前
ssm框架-spring-spring声明式事务
java·数据库·spring
i道i6 小时前
MySQL win安装 和 pymysql使用示例
数据库·mysql
小怪兽ysl6 小时前
【PostgreSQL使用pg_filedump工具解析数据文件以恢复数据】
数据库·postgresql
wqq_9922502777 小时前
springboot基于微信小程序的食堂预约点餐系统
数据库·微信小程序·小程序
爱上口袋的天空7 小时前
09 - Clickhouse的SQL操作
数据库·sql·clickhouse
聂 可 以8 小时前
Windows环境安装MongoDB
数据库·mongodb