如何将 (.mdf) 和 (.ldf) 的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.右键点击“数据库”,选择“附加”。
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语句导入数据库文件图
或者将mdf文件和ldf文件拷贝到数据库安装目录的DATA文件夹下,执行下述SQL,再刷新数据库文件即可。
代码语言:javascript复制USE master;
GO
CREATE DATABASE NewFile
ON (FILENAME = 'C:Program FilesMicrosoft SQL ServerMSSQL10.MSSQLSERVERMSSQLDATASQL2008.mdf'),
(FILENAME = 'C:Program FilesMicrosoft SQL ServerMSSQL10.MSSQLSERVERMSSQLDATASQL2008_log.ldf')
FOR ATTACH;
GO
weiyigeek.top-将mdf文件和ldf文件拷贝DATA文件夹下图
Step 4.导入后查询库中导入全部表的行数。
代码语言:javascript复制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的mdf
和ldf
文件。