首页 新闻 会员 周边 捐助

SQL Server 数据库报错,怎么强制删除数据库

0
[已解决问题] 解决于 2018-02-03 19:38

Sql Server 2012

数据库文件在D盘

有一个定时备份在E盘

CDE三个区是三个独立的机械硬盘,

前两天D区的硬盘挂了,我想把数据库暂时移到E盘。

但是无论我做什么操作,数据库里的SQL一直在报错,连删都删不了,怎么办?

错误信息:

标题: Microsoft SQL Server Management Studio
------------------------------

在文件 'D:/\******\****.mdf' 中、偏移量为 0x00000000340000 的位置执行 读取 期间,操作系统已经向 SQL Server 返回了错误 1006(The volume for a file has been externally altered so that the opened file is no longer valid.)。SQL Server 错误日志和系统事件日志中的其他消息可能提供了更详细信息。这是一个威胁数据库完整性的严重系统级错误条件,必须立即纠正。请执行完整的数据库一致性检查(DBCC CHECKDB)。此错误可以由许多因素导致;有关详细信息,请参阅 SQL Server 联机丛书。 (Microsoft SQL Server,错误: 823)

有关帮助信息,请单击: http://go.microsoft.com/fwlink?ProdName=Microsoft%20SQL%20Server&EvtSrc=MSSQLServer&EvtID=823&LinkId=20476

写代码的相声演员的主页 写代码的相声演员 | 小虾三级 | 园豆:517
提问于:2018-02-03 18:02
< >
分享
最佳答案
0

谢谢两位高人给出指点,问题我自己解决了

先找了个U盘或之类的挂载为D区。

然后用SQL Server 在E盘建立一个新的空数据库,随便起一个名字。

然后分离 Exec sp_detach_db N'Database' 

将新建的数据库移到新的D区(U盘)里,路径要和原来数据库路径一致,并且重命名称原来数据库的名字。

以上是解决系统级路径不存在的问题。

然后将出问题的数据库改为紧急模式 Alter Database [DBNAME] Set Emergency 

接下来使数据库脱机,再删除或分离就可以了

写代码的相声演员 | 小虾三级 |园豆:517 | 2018-02-03 19:38
其他回答(2)
0

脱机了没?

吴瑞祥 | 园豆:29449 (高人七级) | 2018-02-03 18:13

没刚试了一下,脱机也报这个错误

支持(0) 反对(0) 写代码的相声演员 | 园豆:517 (小虾三级) | 2018-02-03 18:17
0

detach试试

dudu | 园豆:29839 (高人七级) | 2018-02-03 18:50
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册