DBA | 如何将 .mdf 与 .ldf 的数据库文件导入到SQL Server 数据库中?

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

原文链接:DBA | 如何将 .mdf 与 .ldf 的数据库文件导入到SQL Server 数据库中?


如何将 (.mdf) 和 (.ldf) 的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.右键点击"数据库",选择"附加"。


weiyigeek.top-点击附加数据库图

Step 3.选择要附加的数据库文件上传到SQL Server服务器,例如,此处 SQL Server Database Primary Data File (.mdf) 格式的czbm.mdf文件,请根据实际情况进行设置附加数据库相关参数,注意不能与当前数据库中的数据库名称同名,最后点击"确定"按钮。


weiyigeek.top-添加设置附加数据库图

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

go 复制代码
USE master;

GO
EXEC  sp_attach_db  @dbname  =  '你的数据库名',     
@filename1  =  'mdf文件路径(包缀名)',     
@filename2  =  'Ldf文件路径(包缀名)'

GO


weiyigeek.top-采用SQL语句导入数据库文件图

或者将mdf文件和ldf文件拷贝到数据库安装目录的DATA文件夹下,执行下述SQL,再刷新数据库文件即可。

go 复制代码
USE master;
GO
CREATE DATABASE NewFile
    ON (FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\SQL2008.mdf'),
    (FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\SQL2008_log.ldf')
    FOR ATTACH;
GO


weiyigeek.top-将mdf文件和ldf文件拷贝DATA文件夹下图

Step 4.导入后查询库中导入全部表的行数。

go 复制代码
SELECT 
    t.name AS TableName,
    p.rows AS RowCounts
FROM 
    sys.tables AS t
INNER JOIN 
    sys.partitions AS p ON t.object_id = p.object_id
WHERE 
    p.index_id IN (0, 1)  -- 0: Heap, 1: Clustered
GROUP BY 
    t.name, p.rows
ORDER BY 
    p.rows desc ;


weiyigeek.top-查询库中导入所有表的行数图

Step 65特别注意,删除附加的数据库前,请自行备份数据库文件,在删除数据库后,默认会将原附加mdf、ldf数据库文件删除,如果需要保留,请在删除数据库前取消勾选【删除数据库备份和欢迎历史记录信息】。

温馨提示:特别版本不兼容问题,低版本不能导入高版本SQL的mdfldf文件。

原文链接:DBA | 如何将 .mdf 与 .ldf 的数据库文件导入到SQL Server 数据库中?

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

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


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

学习推荐 往期文章

相关推荐
川石课堂软件测试1 小时前
MySQL数据库之DBA命令
数据库·网络协议·mysql·http·单元测试·prometheus·dba
ybb_ymm3 小时前
mysql8在linux下的默认规则修改
linux·运维·数据库·mysql
倔强的石头_4 小时前
Navicat Premium 与金仓数据库融合实践:高效管理国产数据库新方案
数据库
程序新视界4 小时前
为什么要尽量将MySQL表字段要设置为NOT NULL?
数据库·mysql·dba
怪兽20144 小时前
SQL优化手段有哪些
java·数据库·面试
lypzcgf5 小时前
FastbuildAI后端数据库模块注册分析
数据库·ai应用·ai创业·智能体平台·ai应用平台·agent平台·fastbuildai
xyy20256 小时前
Spring事务的传播方式
java·数据库·spring
非凡的世界6 小时前
Thinkphp8 Redis队列与消息队列topthink/think-queue 原创
数据库·redis·bootstrap·thinkphp
yookay zhang6 小时前
DM线程的管理知识学习
数据库