sql2000附加数据库报错5123

sql2000附加数据库报错5123,第1张

原因是对想要附加的数据库文件(mdf)和日志文件(ldf) 没有 *** 作权限 解决办法 很简单 第一步:找到数据库文件(mdf)和日志文件(ldf)

第二步:右键 选择 “属性” ,然后选择“安全”选项卡,然户选择“编辑

第三步:选择“添加”

第四步:选择“高级”

第五步:选择“立即查找”,在下面的搜索结果中 找到“Everyone”,选定,确定

第六步:把“Everyone”的权限 设置为“完全控制”,应用

第七步:确定

先把原库文件备份一份,然后

在其它机器上直接附加数据库,不要日志文件!试试!如果不行再按以下方法试试!

在其他机器上,用这个试试:

1设置数据库为紧急模式

Use Master

GO

sp_configure 'allow updates', 1

reconfigure with override

GO

UPDATE sysdatabases SET status = 32768 where name = 'DB_SUSPECT'

GO

2停掉SQL Server服务:

NET STOP MSSQLSERVER

3把原始数据库的数据文件DBNAME_DATMDF,DBNAME_LOGLDF移走:

4启动SQL Server服务:

NET START MSSQLSERVER

5重新建立一个同名的数据库DB_SUSPECT;

USE master

GO

CREATE DATABASE DB_SUSPECT

ON

( NAME = DBNAME_DAT,

FILENAME = 'C:',

SIZE = 10,

FILEGROWTH = 5 )

LOG ON

( NAME = 'DBNAME_LOG',

FILENAME = 'g:',

SIZE = 5MB,

FILEGROWTH = 5MB )

GO

6设置数据库运行在单用户的模式:

USE MASTER

GO

ALTER DATABASE DB_SUSPECT SET SINGLE_USER

GO

7停掉SQL服务:

NET STOP MSSQLSERVER

8把原来的数据文件再覆盖回来:

9启动SQL Server服务:

NET START MSSQLSERVER

10重新设置SQLSERVER的状态:

USE MASTER

GO

EXEC sp_resetstatus "DB_SUSPECT"

11数据库完整性检测:

DBCC CHECKDB('DB_SUSPECT')

12恢复数据库为多用户模式:

USE MASTER

GO

ALTER DATABASE DB_SUSPECT SET MULTI_USER

GO

13恢复SQLSERVER原始的配置:

USE MATER

GO

UPDATE sysdatabases SET status = 4194320 where name = 'DB_SUSPECT'

GO

14配置SQLSERVER不允许更新系统表:

USE MASTER

GO

sp_configure 'allow updates', 0

reconfigure with override

GO

15重新启动MSSQLSERVER服务:

最好重新启动 *** 作系统

16备份数据库:

可以通过SQLSERVER企业管理器或T-SQL需要备份MASTER和DB_SUSPECT

楼主好,首先,数据库只支持向下兼容的,也就是低版本的数据库可以附加还原到高版本的数据库上,但是反之则不行。剩下的就是windows权限问题了,修改方式很简单,我之前也附加不进去,事实上数据库附加,window系统中有个权限控制的,要改你要附加的数据库文件还有数据库日志文件的权限。具体做法是:

首先右键单击你的MDF文件,然后进入属性界面;

在安全选项卡中,你会看到如下图的提示,上面有个完全控制,附加不上去的数据库,完全控制是没有打勾的。然后选中你登录数据库使用windows验证的那个用户名,点击编辑,将完全控制选项勾上,然后应用,确定。就行了。我之前因为学习多维数据库的时候下载了一个源库,结果不能附加,这样弄一下就好了。

sqlserver附加数据库错误823的解决方案2008-10-13 15:06sqlserver附加数据库错误823的解决方案一、SQL-Server附加数据库时失败。

1、异常情况:服务器在正常运行的情况下突然断电,导致数据库文件损坏,具体表现是:数据库名后面有“(置疑)”字样。

2、异常分析:关于823错误的 SQL-SERVER 中的帮助:

================================

错误 823

严重级别 24

消息正文

在文件 "%4!" 的偏移量 %3! 处的 %2! 过程中,检测到 I/O 错误 %1!。

解释

Microsoft SQL Server 在对某设备进行读或写请求时遇到 I/O 错误。该错误通常表明磁盘问题。但是,错误日志中在错误 823 之前记录的其它核心消息应指出涉及了哪个设备。

3、解决办法:

在SQL-Server企业管理器中,新建同名数据库(这里假设为Test)后,停止数据库,把损坏的数据库文件Datamdf和Test_logLDF覆盖刚才新建数据库目录下的Datamdf和Test_logLDF,同时删除Test_logLDF文件;启动数据库服务,发现数据库名Test后面有“置疑”字样。不要紧,打开SQL自带查询分析器,分别执行如下SQL语句:

第一、

exec sp_configure 'allow updates',1 RECONFIGURE WITH OVERRIDE / 打开修改系统表的开关 /

第二、

update sysdatabases set status=32768 where name='数据库名' / 设置数据库状态 /

第三、

DBCC REBUILD_LOG ('数据库名','D:\database\Test_LogLDF') / 重建LDF文件 /

第四、

update sysdatabases set status=0 where name='数据库名' / 重置数据库状态 /

第五、

restore database 数据库名 WITH RECOVERY / 恢复数据库 /

第六、

exec sp_configure 'allow updates',0 RECONFIGURE WITH OVERRIDE / 关闭打开修改系统表的开关 /

按照此方法 *** 作,应该能修复数据库正常访问了。如果问题依然存在,最笨的一个方法就是新建另一个数据库,把原数据库(Test)各个表的数据导出到新建数据库表中。

============================================================

补充说明:用上面的六步把数据库置疑的问题解决了,但是数据库表里还有损坏的表(inf_gdscode),把坏表导出的时候也不成功。最后在查询分析器里运行:

USE nmgbt_hcxuexipos (数据库名)

GO

DBCC CHECKTABLE ('inf_gdscode',REPAIR_ALLOW_DATA_LOSS)

GO

这个原因是 *** 作系统拒绝访问错误(没有权限)两种方法1 你把需要附加的数据库 复制到你sql 安装所在磁盘的目录下就可以访问了(就是在点击附加数据库时默认打开的目录)一般是 Microsoft SQL Server\MSSQL1\MSSQL\Data 目录下2数据库要附加的数据库所在的磁盘 右键--》属性--》安全--》》添加一个名为 Everyone 的账户就行了

我之前也附加不进去,事实上数据库附加,window系统中有个权限控制的,要改你要附加的数据库文件还有数据库日志文件的权限。具体做法是:

首先右键单击你的MDF文件,然后进入属性界面;

在安全选项卡中,你会看到如下图的提示,上面有个完全控制,附加不上去的数据库,完全控制是没有打勾的。然后选中你登录数据库使用windows验证的那个用户名,点击编辑,将完全控制选项勾上,然后应用,确定。就行了。我之前因为学习多维数据库的时候下载了一个源库,结果不能附加,这样弄一下就好了。另外提醒楼主,你要是在远程服务器上附加数据库的话,一定是移动到远程上,用远程的windows验证的那个登录名获取完全控制,否则你移动过去后还是不能附加的。

以上就是关于sql2000附加数据库报错5123全部的内容,包括:sql2000附加数据库报错5123、sql server附加数据库时出现错误提示:错误:9004 处理数据库的日志时出错、在SQL Sever2014中,附加数据库出现如下错误大神求解释,该怎么处理等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10170365.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-06
下一篇 2023-05-06

发表评论

登录后才能评论

评论列表(0条)

保存