Navicat导入SQLServer的MDF文件和LDF文件到数据库

已迁移平台:segmentfault,搜索 erma0
换平台了,发什么都锁定,广告一堆,趁早倒闭吧。

来源:https://www.cnblogs.com/somedayLi/p/10029073.html
之前导入过一次,没做记录,这次又有需要,所以留个备忘

通过Navicat导入SQLServer的MDF文件和LDF文件

仅有MDF和LDF文件,使用第三方工具进行导入数据库。

1.采用windows连接

image

2.新建查询:

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

例如 :

EXEC sp_attach_db @dbname = 'Shop',
@filename1 = 'F:\Supermarket\Database\Shop.mdf',
@filename2 = 'F:\Supermarket\Database\Shop_log.LDF'

可能出现的错误:

  • “拒绝访问”
    打开MDF或者LDF文件的属性-》安全-》修改Authenticated Users-更改该组权限为完全控制权限,再次附加成功。如下图:
image
  • 再次进行导入,出现“Database ‘pubs’ cannot be upgraded because its non-release version (539) is not supported by this version of SQL Server.

You cannot open a database that is incompatible with this version of sqlservr.exe. You must re-create the database.
Could not open new database ‘pubs’. CREATE DATABASE is aborted. (Microsoft SQL Server, Error: 950)”

意思就是版本不兼容,参考外网的解决办法:

通过导出到SQL脚本并在目标服务器上执行来提取源数据库,或者使用SQL数据库迁移向导。

希望能够解决你的问题。

你可能感兴趣的:(Navicat导入SQLServer的MDF文件和LDF文件到数据库)