SQL数据附件失败。错误3456帮助。
1.用相同的名字创建一个新的数据库(数据文件应该和原来的一致)。
2.再次停止sql server(注意不要分离数据库)。
3.用原始数据库的数据文件覆盖这个新数据库。
4.重新启动sql server。
5.这时候打开企业管理器就会有疑惑。无论如何,执行下面的语句(注意修改数据库名)。
6.完成后,一般可以访问数据库中的数据。这个时候数据库本身一般是有问题的。解决方案是使用
数据库脚本创建一个新的数据库并导入数据。
使用母版
去
SP_CONFIGURE '允许更新',1使用覆盖重新配置
去
更新sysdatabases set status = 32768,其中name = '有问题的数据库名'
去
Sp_dboption '可疑的数据库名称','单用户',' true '
去
DBCC CHECKDB(“可疑的数据库名”)
去
更新sysdatabases set status = 28,其中name = '有问题的数据库名'
去
sp_configure '允许更新',0使用替代重新配置
去
Sp_dboption '可疑的数据库名称','单用户',' false '
去
执行上述语句后,出现以下错误消息:
配置选项“允许更新”已从0更改为1。请运行RECONFIGURE语句进行安装。
(受影响的行数为1)
服务器:消息5105,级别16,状态4,行1。
设备激活错误。物理文件名“e:\ program files \ Microsoft SQL server \ MSSQL \ data \ bserp _ data . MDF”可能不正确。
sp_dboption命令失败。
服务器:消息8966,级别16,状态1,行1。
无法读取和锁定页面(97:6553715)(锁定类型为SH)。Sysobjects失败。
DBCC死刑执行完毕。如果DBCC输出错误消息,请联系系统管理员。
(受影响的行数为1)
配置选项“允许更新”已从1更改为0。请运行RECONFIGURE语句进行安装。
方法二:
首先,确定要附加的数据库是否真的是只读的,如果是,则删除只读属性。在要附加的数据库文件的安全设置中设置用户完全控制权限,设置成功后即可附加。