您的当前位置:首页正文

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

2024-11-07 来源:个人技术集锦

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

原文链接:


如何将 (.mdf) 和 (.ldf) 的SQL Server 数据库文件导入到当前数据库中?

Step 1.登录到 Sql Server 服务器中,打开 SQL Server Management Studio,查看当前数据库版本信息。

> 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键或者点击运行按钮即可。

USE master;

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

GO

weiyigeek.top-采用SQL语句导入数据库文件图
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.导入后查询库中导入全部表的行数。

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文件。

原文链接:

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

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


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

 学习推荐 往期文章

  • ?【最新】

  • ?【最新】

  • ?【相关】

  • ?【相关】

显示全文