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
谢谢两位高人给出指点,问题我自己解决了
先找了个U盘或之类的挂载为D区。
然后用SQL Server 在E盘建立一个新的空数据库,随便起一个名字。
然后分离 Exec sp_detach_db N'Database'
将新建的数据库移到新的D区(U盘)里,路径要和原来数据库路径一致,并且重命名称原来数据库的名字。
以上是解决系统级路径不存在的问题。
然后将出问题的数据库改为紧急模式 Alter Database [DBNAME] Set Emergency
接下来使数据库脱机,再删除或分离就可以了
脱机了没?
没刚试了一下,脱机也报这个错误
detach试试