1、登录的身份权限不足,如果设为“网络服务”,可能会导致这种情况,可以尝试设为“本地系统”。
设备激活错误。物理文件名 'd:\test_log.LDF' 可能有误。
怎么办呢?别着急,下面我们举例说明恢复办法。
A.我们使用默认方式建立一个供恢复使用的数据库(如test)。可以在SQL Server Enterprise Manager 里面建立。
B.停掉数据库服务器。
C.将刚才生成的数据库的日志文件test_log.ldf删除,用要恢复的数据库mdf文件覆盖刚才生成的数据 库数据文件est_data.mdf。
D.启动数据库服务器。此时会看到数据库test的状态为"置疑"。这时候不能对此数据库进行任何操作。
设置数据库允许直接操作系统表。此操作可以在SQL Server Enterprise Manager里面选择数据库服
务器,按右键,选择"属性",在"服务器设置"页面中将"允许对系统目录直接修改"一项选中。也可以
使用如下语句来实现。
use master
go
sp_configure 'allow updates',1
go
reconfigure with override
go
设置test为紧急修复模式
update sysdatabases set status=-32768 where dbid=DB_ID('test')
此时可以在SQL Server Enterprise Manager里面看到该数据库处于"只读\置疑\脱机\紧急模式"可以
看到数据库里面的表,但是仅仅有系统表
G.下面执行真正的恢复操作,重建数据库日志文件
dbcc rebuild_log('test','C:\Program Files\Microsoft SQL Server\MSSQL\Data\test_log.ldf')
执行过程中,如果遇到下列提示信息:
服务器: 消息 5030,级别 16,状态 1,行 1
未能排它地锁定数据库以执行该操作。
DBCC 执行完毕。如果 DBCC 输出了错误信息,请与系统管理员联系。
说明您的其他程序正在使用该数据库,如果刚才您在F步骤中使用SQL Server Enterprise Manager
打开了test库的系统表,那么退出SQL Server Enterprise Manager就可以了。
正确执行完成的提示应该类似于:
警告: 数据库 'test' 的日志已重建。已失去事务的一致性。应运行 DBCC CHECKDB 以验证物理一致
性。将必须重置数据库选项,并且可能需要删除多余的日志文件。
DBCC 执行完毕。如果 DBCC 输出了错误信息,请与系统管理员联系。
此时打开在SQL Server Enterprise Manager里面会看到数据库的状态为"只供DBO使用"。此时可以
访问数据库里面的用户表了。
H.验证数据库一致性(可省略)
dbcc checkdb('test')
??
一般执行结果如下:
CHECKDB 发现了 0 个分配错误和 0 个一致性错误(在数据库 'test' 中)。
DBCC 执行完毕。如果 DBCC 输出了错误信息,请与系统管理员联系。
设置数据库为正常状态
sp_dboption 'test','dbo use only','false'
如果没有出错,那么恭喜,现在就可以正常的使用恢复后的数据库啦。
J.最后一步,我们要将步骤E中设置的"允许对系统目录直接修改"一项恢复。因为平时直接操作系统表
是一件比较危险的事情。当然,我们可以在SQL Server Enterprise Manager里面恢复,也可以使用
如下语句完成
sp_configure 'allow updates',0
go
reconfigure with override
go
分享到:
相关推荐
1、描述:数据库服务器,磁盘满了,要将一个比较大的数据库文件,移到另一个磁盘,移完后,重新附加数据库出现“只读”提示。...4、再去数据库的属性中,将“数据库只读选项” 同true 改为 false ,数据库正常
本文将详细介绍SQL附加数据库后数据库变成只读的原因及解决方法。 #### 一、问题分析 当SQL Server将一个外部数据库文件附加到系统中时,默认情况下,该数据库可能会被设置为只读模式。导致这一现象的原因主要有...
step3、然后重启服务即可,数据库只读属性消失。 通过这三个步骤,我们可以轻松解决 SQL Server 附加数据库显示为只读的问题。 三、 小结 在这篇文章中,我们讨论了 SQL Server 附加数据库显示为只读的问题,并...
XP系统中出现数据库或对象为只读的解决方法
### 数据库或对象为只读—解决方法 #### 背景与问题描述 在进行Web应用程序开发过程中,经常会遇到数据库操作失败的情况。其中一种较为常见的问题是“不能更新,数据库或对象为只读”。这种错误通常发生在使用...
### SQL2000附加数据库只读问题及解决办法 #### 一、问题背景与现象 在使用SQL Server 2000的过程中,有时会遇到附加数据库后处于只读状态的情况。这种状态会导致用户无法对数据库进行任何写入操作,包括插入、...
总的来说,解决"数据库或对象为只读"的问题需要综合考虑数据库设置、驱动配置、文件系统权限和程序代码等多个方面。根据具体情况,逐个排查并调整相应的设置,一般可以解决问题。在调整权限时要注意安全性,避免开放...
### 数据库疑难问题解决方法 #### 一、ORACLE客户端异常,无法连接服务器 **问题描述**:在尝试连接数据库时遇到错误提示,通常是因为数据库版本不一致所致。经过检查,发现服务器的安全日志中并无相关错误记录或...
总之,当遇到SQL Server 2005数据库只读问题时,应首先排查权限配置和账户设置,确保服务账户有足够的权限来读写数据库文件。同时,保持良好的安全实践,避免使用过于强大的账户以降低潜在的风险。
### SQL Server 附加数据库后出现只读或失败的解决方法 在使用SQL Server的过程中,有时候可能会遇到这样的情况:当你尝试附加一个数据库时,发现数据库处于只读状态或者无法成功附加。这种现象通常与NTFS文件系统...
### SQL数据库质疑解决方法 #### 知识点详解 ##### 1. **SQL Server 2000 数据库质疑背景** 在使用 SQL Server 2000 的过程中,可能会遇到数据库产生质疑的情况。这种情况通常发生在数据库文件损坏或者日志文件与...
- **数据库级别只读**:如果整个数据库被设置为只读,则不允许执行任何数据更改操作,包括数据库升级。 - **文件级别只读**:如果数据库中的某个文件(例如主数据文件或日志文件)被设置为只读,则同样会导致无法...
在处理SQL SERVER数据库附加过程中,遇到失败的情况是很常见的问题,这些失败可能是由于多种原因导致的,解决这些问题的方法也各不相同。本文将详细列出解决SQL SERVER数据库附加失败的几种方法,并对每个解决方案...
标题中的“风讯CMS数据库或对象为只读的解决方法”指的是在使用风讯内容管理系统(CMS)时遇到的一种常见问题,即用户尝试修改数据库或系统对象时收到错误提示,表明数据库或对象处于只读状态,无法进行写入操作。...
标题中的“行业分类-物理装置-一种数据库只读用户数据查询方法及装置”表明这是一个关于数据库管理系统中,针对只读用户数据查询的技术方案。在IT领域,数据库是存储和管理信息的核心工具,而只读用户数据查询方法...
本文详细介绍了在Oracle数据库中如何为用户设置只读权限的过程。通过创建用户、解锁账号、授予连接权限以及授权只读权限等步骤,可以有效地实现对数据库表的只读访问控制。此外,对于特殊场景下权限不足的情况,也...
3. 更新`SYSDATABASES`表,将置疑数据库的状态设置为32768(表示只读)。 4. 将数据库设置为单用户模式,以便进行修复操作。 5. 运行`DBCC CHECKDB`检查数据库的完整性。 6. 如果检查没有问题,将数据库状态恢复为...
【数据库压力解决方法】 随着网站访问量的不断增大,数据库压力也会随之增加,这可能导致CPU占用率波动,甚至影响到用户的正常访问体验。在这种情况下,有效地解决数据库压力至关重要。以下是一些常用的方法: 1. ...
如果你已尝试了上述方法仍无法解决问题,可能需要更深入地诊断,例如通过数据库引擎调试,检查操作系统级别的错误,或者联系微软的技术支持获取专业帮助。记住,始终备份重要数据,避免在尝试解决此类问题时造成不...
在安装Fly.Box企业网盘的过程中,可能会遇到一个常见的问题,即...如果上述方法仍无法解决问题,可能需要进一步检查Sql Server服务配置、网络连接或数据库文件的完整性。在这些情况下,可能需要寻求专业IT支持的帮助。