SQL Server 附加数据库失败的解决
错误提示:错误1813:未能打开新数据库’dbname’,create database 将终止。设备激活错误。物理文件名’d:sql servermssqldatadbname _log.ldf’可能有误!
解决方法:
1.新建一个同名的数据库
2.再停掉sqlserver服务(注重不要分离数据库)
3.用原数据库的数据文件覆盖掉这个新建的数据库
4.再重启sqlserver服务
5.此时打开企业治理器时会出现置疑,先不管,执行下面的语句(注重修改其中的数据库名)
6.完成后一般就可以访问数据库中的数据了。这时,数据库本身一般还有问题,解决办法是:利用数据库的脚本创建一个新的数据库,然后通过DTS将数据导进去。
use master go sp_configure \'allow updates\',1 reconfigure with override go update sysdatabases set status =32768 where name=\'mpbj\' go sp_dboption \'mpbj\', \'single user\', \'true\' go dbcc checkdb(\'mpbj\') go update sysdatabases set status =28 where name=\'mpbj\' go sp_configure \'mpbj\', 0 reconfigure with override go sp_dboption \'mpbj\', \'single user\', \'false\' go
上面的mpbj换为自己的数据库名即可