[ 知识是人生的灯塔,只有不断学习,才能照亮前行的道路 ]
原文链接:DBA | 如何将 .mdf 与 .ldf 的数据库文件导入到SQL Server 数据库中?
如何将 (.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.右键点击“数据库”,选择“附加”。
Step 3.选择要附加的数据库文件上传到SQL Server服务器,例如,此处 SQL Server Database Primary Data File (.mdf)
格式的czbm.mdf
文件,请根据实际情况进行设置附加数据库相关参数,注意不能与当前数据库中的数据库名称同名,最后点击“确定”按钮。
或者采用SQL语句导入数据库文件,选中某个数据库文件,右键点击【新建查询
】,再代码界面输入如下代码,点击F5键或者点击运行按钮即可。
USE master;
GO
EXEC sp_attach_db @dbname = '你的数据库名',
@filename1 = 'mdf文件路径(包缀名)',
@filename2 = 'Ldf文件路径(包缀名)'
GO
或者将mdf文件和ldf文件拷贝到数据库安装目录的DATA文件夹下,执行下述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
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 ;
Step 65特别注意,删除附加的数据库前,请自行备份数据库文件,在删除数据库后,默认会将原附加mdf、ldf数据库文件删除,如果需要保留,请在删除数据库前取消勾选【删除数据库备份和欢迎历史记录信息】。
温馨提示:特别版本不兼容问题,低版本不能导入高版本SQL的mdf
和ldf
文件。
原文链接:DBA | 如何将 .mdf 与 .ldf 的数据库文件导入到SQL Server 数据库中?
若文章写得不错,不要吝惜手中转发,点赞、在看,若有疑问的小伙伴,可在评论区留言你想法哟💬!
温馨提示:作者最近10年的工作学习笔记(涉及网络、安全、运维、开发),需要学习实践笔记的看友,可添加作者账号[WeiyiGeeker],当前价格¥199,除了获得从业笔记的同时还可进行问题答疑以及每月远程技术支持,希望大家多多支持,收获定大于付出!
如果此篇文章对你有帮助,请你将它转发给更多的人!
学习推荐 往期文章
-
🔥【最新】运维 Tips | 巧妙解决,国产麒麟V10 SP3系统安装后无法通过许可信息
-
🔥【最新】Linux 运维 | 6.从零开始,Shell编程中正则表达式 RegExp 速成指南
-
💡【相关】DBA | 炼气期,数据库技术基础知识概述!
-
💡【相关】DBA | 炼气期,关系数据库及六大范式(NF)理论概述!