博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【20130321】sql server 2005 之后 文件状态变为了7,DEFUNCT(僵死状态)
阅读量:5998 次
发布时间:2019-06-20

本文共 1197 字,大约阅读时间需要 3 分钟。

问题:

    sql server 2005 之后 文件状态变为了7,DEFUNCT(僵死状态)

问题原因:

    一般都是因为一些不合法的操作引起的 如以下:

CREATE DATABASE TestGOALTER DATABASE [Test] ADD FILEGROUP [TestFG]GOALTER DATABASE [Test] ADD FILE ( NAME = N'TestFile', FILENAME = N'C:\Program Files (x86)\Microsoft SQL Server\MSSQL10_50.SQL2008R2\MSSQL\DATA\TestFile.ndf', SIZE = 3072KB , FILEGROWTH = 1024KB ) TO FILEGROUP [TestFG]GO--ok at this point you set it offlineALTER DATABASE Test MODIFY FILE (NAME = TestFile, OFFLINE);SELECT state_desc,* FROM Test.sys.database_files;GO   ALTER DATABASE Test MODIFY FILE (NAME = TestFile, OFFLINE);GOALTER DATABASE [Test] REMOVE FILEGROUP [TestFG]GOALTER DATABASE [Test]  REMOVE FILE [TestFile]GOSELECT state_desc,* FROM Test.sys.database_files;

解决方法:

     使用-m启动服务,使用DAC连接,使用一下代码修改系统表。之前可能要配置 sp_configure 中的 allow update参数。

UPDATE  Test.sys.sysprufiles set filestate  = 6 where fileid = 3;UPDATE master.sys.sysbrickfiles set filestate  = 6  where dbid = db_id('Test') and fileid = 3; checkpoint

    正常启动服务,现在文件正处于offline 状态,修改为online,并删除文件和文件组。若数据文件丢失或备份丢失,那么就没办法online了,这个问题还需要深入研究

RESTORE DATABASE test FILE='TestFile' WITH recoverygoALTER DATABASE [Test]  REMOVE FILE [TestFile]goALTER DATABASE [Test] REMOVE FILEGROUP [TestFG]GO

 

转载地址:http://sawmx.baihongyu.com/

你可能感兴趣的文章
正式学习React(四) ----Redux源码分析
查看>>
移动前端常用meta标签
查看>>
非结构化数据与结构化数据提取---多线程爬虫案例
查看>>
splay版
查看>>
unity 打包编译记录
查看>>
CSS知识总结(四)
查看>>
宝塔https
查看>>
软件工程第一次作业
查看>>
22. Generate Parentheses
查看>>
BZOJ 4032 trie树+各种乱搞
查看>>
Git远程仓库☞GitHub的使用
查看>>
MDL相关总结
查看>>
python - work5 - 类与对象
查看>>
【bzoj1925】地精部落[SDOI2010](dp)
查看>>
重建oracle的em
查看>>
抓取代理IP
查看>>
【Matlab 】【转】元胞数组--cell
查看>>
python2.7.2文档阅读笔记
查看>>
jQuery技巧之让任何组件都支持类似DOM的事件管理
查看>>
Python中模块的发布与安装
查看>>