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


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

学习推荐 往期文章

相关推荐
双子座断点12 分钟前
QStringList 使用详解
数据库
bw87672068719 分钟前
金融工程--pine-script 入门
数据库·金融
三日看尽长安花1 小时前
【Redis:原理、架构与应用】
数据库·redis·架构
尘浮生3 小时前
Java项目实战II基于Spring Boot的美食烹饪互动平台的设计与实现(开发文档+数据库+源码)
java·开发语言·数据库·spring boot·微信小程序·小程序·美食
forestqq3 小时前
构建后端为etcd的CoreDNS的容器集群(七)、编写适合阅读的域名管理脚本
运维·数据库·etcd
hongkid3 小时前
MongoDB常用操作
数据库·mongodb
岁岁岁平安3 小时前
mysql上课总结(1)(mysql中的常见的存储引擎)(面试)
数据库·mysql·innodb·存储引擎
幽兰的天空5 小时前
python实现excel数据导入数据库
数据库
尘佑不尘6 小时前
shodan5,参数使用,批量查找Mongodb未授权登录,jenkins批量挖掘
数据库·笔记·mongodb·web安全·jenkins·1024程序员节
传输能手6 小时前
从三方云服务器将数据迁移至本地,如何保障安全高效?
大数据·服务器·数据库