数据库附加不了的问题~

xhxda2013 2013-09-06 10:35:59
有个不知道版本的mdf(不知道是哪个版本)数据库文件,然后我想附加到我现在的数据库里(SQL 2008),我想是因为版本原因所以附加不了,还有什么其他方法能把这个mdf文件里面的数据导入到我的数据库里面去么?
...全文
293 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
Landa_Peter 2013-09-18
  • 打赏
  • 举报
回复
这是兼容性问题,你可以找个兼容版本附加进去,然后把数据脚本导出来,在放到sql2008上去执行试试
Rotel-刘志东 2013-09-15
  • 打赏
  • 举报
回复
附加不了是不兼容问题,sql server版本是向下兼容的。
xhxda2013 2013-09-15
  • 打赏
  • 举报
回复
错误5120 因为文件权限问题,已经解决 谢谢大家的回答~
荖司机 2013-09-13
  • 打赏
  • 举报
回复
引用 8 楼 btlyeo 的回复:
附加是向下兼容的,如果附加补上,要么是MDF有错误,要么是这个mdf比你的数据库版本高。
文件问题的可能性比较大
btlyeo 2013-09-12
  • 打赏
  • 举报
回复
附加是向下兼容的,如果附加补上,要么是MDF有错误,要么是这个mdf比你的数据库版本高。
發糞塗牆 2013-09-10
  • 打赏
  • 举报
回复
如果不能附加,证明mdf文件可能是R2、2012甚至2014分离出来的。
稻庄 2013-09-10
  • 打赏
  • 举报
回复
升級SQL吧
chen870201 2013-09-08
  • 打赏
  • 举报
回复
大部分情况是高版本的文件不能加到低版本的数据库管理系统
Karl_zhujt 2013-09-07
  • 打赏
  • 举报
回复
直接拷贝源文件,或者建立新的库,采用数据导入
唐诗三百首 2013-09-06
  • 打赏
  • 举报
回复
引用 2 楼 xhxda2013 的回复:
出了升级到R2 还有其他方法么...?
找各种环境的机器,如SQL2000,SQL2005,SQL2008,SQL2012..试试附加..
xhxda2013 2013-09-06
  • 打赏
  • 举报
回复
出了升级到R2 还有其他方法么...?
唐诗三百首 2013-09-06
  • 打赏
  • 举报
回复
附加不了的报错信息是什么? 升级SQL2008到SQL2008R2试试.
//附加数据库 sp_attach_db 当使用 sp_attach_db 系统存储过程附加数据库时。 sp_attach_db:将数据库附加到服务器。 语法 sp_attach_db [ @dbname = ] 'dbname' , [ @filename1 = ] 'filename_n' [ ,...16 ] 参数 [@dbname =] 'dbname' 要附加到服务器的数据库的名称。该名称必须是唯一的。dbname 的数据类型为 sysname,默认值为 NULL。 [@filename1 =] 'filename_n' 数据库文件的物理名称,包括路径。filename_n 的数据类型为 nvarchar(260),默认值为 NULL。最多可以指定 16 个文件名。 参数名称以 @filename1 开始,递增到 @filename16。文件名列表至少必须包括主文件,主文件包含指向数据库中其它文件的系统表。 该列表还必须包括数据库分离后所有被移动的文件。 返回代码值:0(成功)或 1(失败) eg:下面的示例将 pubs 中的两个文件附加到当前服务器。 EXEC sp_attach_db @dbname = N'pubs', @filename1 = N'c:\Program Files\Microsoft SQL Server\MSSQL\Data\pubs.mdf', @filename2 = N'c:\Program Files\Microsoft SQL Server\MSSQL\Data\pubs_log.ldf' EXEC sp_attach_db @dbname = N'Ty20051029101451aaa', @filename1 = N'd:\5屏幕\Ty20051029101451aaa_data.mdf', @filename2 = N'd:\5屏幕\Ty20051029101451aaa_log.ldf' ---解决问题了 //删除数据库 DROP DATABASE 从Microsoft? SQL Server? 删除一个或多个数据库。删除数据库将删除数据库所使用的数据库文件和磁盘文件。 语法 :DROP DATABASE database_name [ ,...n ] 参数 :database_name 指定要删除的数据库名称。从 master 数据库中执行 sp_helpdb 以查看数据库列表。 eg: exec sp_helpdb database_name exec Drpo DataBase [Ty20051029101451aaa] //分离数据库 可以使用 sp_detach_db 存储过程分离该数据库,然后使用带有 FOR ATTACH 子句的 CREATE DATABASE 重新附加。 sp_detach_db Archive GO CREATE DATABASE Archive ON PRIMARY (FILENAME = 'c:\program files\microsoft sqlserver\mssql\data\archdat1.mdf') FOR ATTACH GO //显示当前数据库信息 --select * from Master..sysDatabases //新建---不行啊 CREATE DATABASE TestOA ALTER DATABASE TestOA SET OFFLINE WITH ROLLBACK IMMEDIATE RESTORE DATABASE TestOA From disk='C:\Documents and Settings\Administrator\桌面\帐套\data\Template.Dat' ALTER DATABASE TestOA SET OFFLINE WITH ROLLBACK IMMEDIATE exec sp_detach_db Km20051030011601 --分离数据库 exec sp_attach_single_file_db km20051030011601,'D:\TestDatabase\Km20051030011601.mdf'--只附加.mdf文件

34,588

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧