附加数据库文件的时候,总是弹出来这个提示,怎么回事啊?
---------------------------
Microsoft SQL-DMO (ODBC SQLState: 42000)
---------------------------
错误 5105: 设备激活错误。物理文件名 'E:\sqlserver2005\VS2005\Web\App_Data\VS2005_Test.mdf' 可能有误。
---------------------------
确定
---------------------------
---------------------------
Microsoft SQL-DMO (ODBC SQLState: 42000)
---------------------------
错误 5105: 设备激活错误。物理文件名 'E:\sqlserver2005\VS2005\Web\App_Data\VS2005_Test.mdf' 可能有误。
---------------------------
确定
---------------------------
---------------------------
确定
--------------------------- 你的文件MDF有错误了
这是我从网上下载的一个例子,网页访问是正常的,我想查看数据库的内容,所以我想附加上去查看内容,但是附加不成功。如果是MDF有错误,那么为什么网页的访问是正常的呢?
还有检查是否已经存在同名数据库
尝试叫要附加的数据库文件直接拷贝到数据库的装数据库文件的文件夹(Data)下,然后重新打开企业管理器,如果不出意外的话,应该能附加上去
错误 location:recovery.c:1996
express:curr->lon_length>0
spdi:51
process id:768
最后提示附加失败
cnpeadata
服务器: 消息 5105,级别 16,状态 4,行 1
设备激活错误。物理文件名 'd:\data\new_Data.ldf' 可能有误。
解决方法一:用工具清理一下注册表,可能事上次下载的时候没有删除干净sql系统文件的缘故(我自己就是这样解决的^--^) 解决方法二:
新建一同名数据库(文件名,文件组都和原来的一样),然后停止数据库服务,用原来文件替换新建的数据库文件,启动数据库,该数据库被设未suspect
然后把数据库改成紧急模式:
sp_configure 'allow', 1
reconfigure with override
update sysdatabases set status = 32768 where name = '数据库名'
把LDF文件改名,再执行
DBCC REBUILD_LOG ('数据库名', 'E:\fdzz\database\fdzz1204_Log.LDF' )
恢复数据库紧急模式
update sysdatabases set status = 0 where name = '数据库名'
执行
restore database 数据库名 WITH RECOVERY
sp_configure 'allow', 0
reconfigure with override
然后用DBCC CHECKDB ('数据库名')看看有没有错误
如果上面还是不行,试试吧数据库设为紧急模式,应该可以看到数据了,在把数据导出到一个新的数据库 。(PS:这是我在网上找到的~~~)
操作应该没问题
MDF,LDF都正常?低版本附加高版本?