sql server2000附加数据库失败
来源:互联网 发布:mac os x 10.11 镜像 编辑:程序博客网 时间:2024/05/17 21:41
--附加数据库失败
1.产生失败的原因
比如有个数据库,名叫HIMS,它的数据文件HIMS_Data.mdf和日志文件HIMS_Log.ldf,都放在路径'c:/Program Files/Microsoft SQL Server/MSSQL/data/'下。
但是这个数据库天天跑日志,会产生上G的日志,现在通过企业管理器把数据库分离后,在企业管理器直接附加数据文件HIMS_Data.mdf,会产生如下错误:
----------------------------------------------------------------------------------------------------------------------------------------
错误 1813: 未能打开新数据库 'HIMS'。CREATE DATABASE 将终止。
设备激活错误。物理文件名 'C:/Program Files/Microsoft SQL Server/MSSQL/data/HIMS_Log.ldf' 可能有误。
----------------------------------------------------------------------------------------------------------------------------------------
从而无法将数据库正常附加到SQL Server 2000,正常情况下这样操作是没有问题的,SQL Server会重新生成日志文件,但是因为之前出现了磁盘空间不足,日志文件不完整,从而造成了无法正常附加。
2.解决办法
(1)通过企业管理器和SQL语句来解决
<1>在企业管理器建立数据库HIMS,这时在路径下C:/Program Files/Microsoft SQL Server/MSSQL/data/ 会产生两个文件:HIMS_Data.mdf和HIMS_Log.ldf
<2>停止SQL服务(即将电脑右下角SQLSERVER服务管理器停止)
<3>在路径C:/Program Files/Microsoft SQL Server/MSSQL/data/下删除日志文件HIMS_Log.ldf,将先前要附加的数据文件HIMS_Data.mdf替代现在的HIMS_Data.mdf
<4>重新启动SQL服务,在企业管理器中刷新,发现HIMS数据库是'置疑'
<5>在含有该HIMS数据库的SQLServer注册里(比如:(LOCAL)(Windows NT)),右键,查看'属性',点击'服务器设置',将 '服务器行为'的第一项'允许对系统目录直接进行修改 (M)'的框打上勾
<6>设置数据库未紧急修复模式
打开查询分析器,在master数据库下执行语句:update sysdatabases set status = -32768 where dbid = DB_ID('HIMS')
<7>重建数据库日志文件
还在master数据库下执行语句:dbcc rebuild_log('HIMS','C:/Program Files/Microsoft SQL Server/MSSQL/data/HIMS_Log.ldf')
这时会出现两种执行结果:
A.如果出现下列描述,则继续执行<8>以后的语句
警告: 数据库 'HIMS' 的日志已重建。已失去事务的一致性。应运行 DBCC CHECKDB 以验证物理一致性。将必须重置数据库选项,并且可能需要删除多余的日志文件。
DBCC 执行完毕。如果 DBCC 输出了错误信息,请与系统管理员联系。
B.如果出现下列描述,则重新从<1>执行
服务器: 消息 5030,级别 16,状态 1,行 1
未能排它地锁定数据库以执行该操作。
DBCC 执行完毕。如果 DBCC 输出了错误信息,请与系统管理员联系。
<8>验证数据库一致性(该步骤可省略)
在master数据库下执行语句:dbcc checkdb('HIMS')
<9>设置数据库为正常状态
在master数据库下执行语句:sp_dboption 'HIMS' ,'dbo use only','false'
<10>将步骤<5>中的勾去掉
按照这10个步骤就OK了!
- sql server2000附加数据库失败
- SQL Server2000:分离数据库与附加数据库
- SQL Server2000数据库分离与附加
- SQL Server2000数据库分离与附加
- SQL Server2000数据库分离与附加
- sql server2000导入mdf文件(附加数据库)
- SQL Server2000数据库分离与附加
- SQL Server2000数据库分离与附加
- SQL Server2000数据库分离与附加
- SQL SERVER2000 用代码实现附加与分离数据库
- SQL Server2000数据库附加提示“错误823“的快速修复
- SQL sever 2008 附加数据库失败解决办法
- 附加sql数据库失败:拒绝访问 5
- SQL Server 附加数据库失败的解决
- 在SQL Server2008R2中附加数据库失败
- 天禾云盘SQL SERVER数据库附加失败解决办法
- SQL Server2000 附加数据库时出现数据库累计大小超过使用许可限制的解决方法
- SQL SERVER2000中附加数据库后为只读,如何改为可写?
- 怎样快速学习嵌入式Linux
- linux C语言 计时
- 缓冲区思想
- 哪来的天才
- 练习XSLT
- sql server2000附加数据库失败
- Struts 中文乱码的问题总结
- Ubuntu更新安装Firefox3.5,上不了网的奇怪现象
- sql server 2000存储过程返回值的总结
- 小常识
- 地主、谋士与长工的故事
- python 确实是我见过并且喜欢的语言
- 选择zencart的理由
- qtopia-free-2.2.0编译记录