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 小时前
Oracle 10046 Trace 硬核指南:SQL 慢在哪,从底层拉出来
数据库·sql·oracle
_ziva_1 小时前
MAC-SQL 多智能体协作框架解析
数据库·oracle
最贪吃的虎1 小时前
Redis其实并不是线程安全的
java·开发语言·数据库·redis·后端·缓存·lua
代码不停1 小时前
MySQL事务
android·数据库·mysql
山峰哥1 小时前
数据库工程与SQL调优实战:从原理到案例的深度解析
java·数据库·sql·oracle·性能优化·编辑器
OpsEye1 小时前
Redis 内存碎片的隐形消耗——如何用 memory purge 命令释放空间?
运维·网络·数据库·redis·缓存·内存·监控
施嘉伟2 小时前
一次典型的 SQL 性能问题排查:临时表导致的隐藏性能陷阱
数据库·sql
IT 乔峰2 小时前
分享一个负载均衡的NDB高可用集群架构+部署详细说明
数据库·架构·负载均衡
丁丁点灯o2 小时前
oracle中基于正则表达式匹配规则提取子串的函数REGEXP_SUBSTR
数据库·oracle·正则表达式
木风小助理2 小时前
Android 数据库实操指南:从 SQLite 到 Realm,不同场景精准匹配
jvm·数据库·oracle