如何将(.bak)的SQL Server 数据库备份文件导入到当前数据库中?
Step 1.登录到 Sql Server 服务器中,打开 SQL Server Management Studio,查看当前数据库版本信息。
代码语言:javascript复制> 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键或者点击运行按钮即可。
-- 创建数据库
CREATE DATABASE [WEIYIGEEK_2023]
ON
PRIMARY
(
NAME = N'WEIYIGEEK_2023',
FILENAME = N'D:Program FilesMicrosoft SQL ServerMSSQL10_50.MSSQLSERVERMSSQLDATAWEIYIGEEK_2023.mdf',
SIZE = 3072KB,
MAXSIZE = UNLIMITED,
FILEGROWTH = 1MB
)
LOG ON
(
NAME = N'WEIYIGEEK_2023_log',
FILENAME = N'D:Program FilesMicrosoft SQL ServerMSSQL10_50.MSSQLSERVERMSSQLDATAWEIYIGEEK_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 FilesMicrosoft SQL ServerMSSQL10_50.MSSQLSERVERMSSQLBackupWEIYIGEEK_2023-Backup.bak'
WITH
NAME = N'WEIYIGEEK_2023-Backup',
NOFORMAT, INIT, SKIP,
STATS = 5
-- 还原操作
RESTORE DATABASE [WEIYIGEEK_2023]
FROM
DISK = N'D:BACKUPWEIYIGEEK_2023-Backup.bak'
WITH
FILE = 1,
MOVE N'TEST' TO 'D:Program FilesMicrosoft SQL ServerMSSQL10_50.MSSQLSERVERMSSQLDATAWEIYIGEEK_2023.mdf',
MOVE N'TEST_log' TO 'D:Program FilesMicrosoft SQL ServerMSSQL10_50.MSSQLSERVERMSSQLDATAWEIYIGEEK_2023.ldf',
-- 还原操作(覆盖现有数据库)
RESTORE DATABASE [WEIYIGEEK_2023]
FROM
DISK = N'D:BACKUPWEIYIGEEK_2023-Backup.bak'
WITH
REPLACE,
MOVE N'TEST' TO 'D:BACKUPDATAWEIYIGEEK_2023.mdf',
MOVE N'TEST_log' TO 'D:BACKUPDATAWEIYIGEEK_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