当前位置:首页 » 编程语言 » sqlserver附加数据库出错

sqlserver附加数据库出错

发布时间: 2022-12-31 00:29:50

A. sql server附加数据库时出错,提示说: 附加数据库时出错。有关详细信息,请单击“消息”列中的超链接。急

这个是因为数据库是从其他电脑或者其他版本的原始文件,需要手动分配一下当前数据库版本的访问数据库原始文件的权限,解决方法如下:

1、首先打开数据库之后,选择性的进行登录的,这里我们运用sa密码进行登录。

B. sqlserver 2005 可以登录,但附加数据库出错,另一个程序正在使用此文件,进程无法访问!

别用附加数据了。。将数据库备份成BAK文件,然后新建一个数据库,完全覆盖就OK了。。这种情况是你的数据库正在使用

C. sql server附加数据库时出现错误提示:错误:9004 处理数据库的日志时出错

先把原库文件备份一份,然后
在其它机器上直接附加数据库,不要日志文件!试试!如果不行再按以下方法试试!

在其他机器上,用这个试试:
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_DAT.MDF,DBNAME_LOG.LDF移走:

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

D. sqlserver 在附加数据库时 提示:错误3624

1.新建一个同名的数据库

2.再停掉sql server(注意不要分离数据库)

3.用原数据库的数据文件覆盖掉这个新建的数据库

4.再重启sql server

5.此时打开企业管理器时会出现置疑,先不管,执行下面的语句(注意修改其中的数据库名)

6.完成后一般就可以访问数据库中的数据了,这时,数据库本身一般还要问题,解决办法是,利用
数据库的脚本创建一个新的数据库,并将数据导进去就行了.

USE MASTER
GO

SP_CONFIGURE 'ALLOW UPDATES',1 RECONFIGURE WITH OVERRIDE
GO

UPDATE SYSDATABASES SET STATUS =32768 WHERE NAME='置疑的数据库名'
Go

sp_dboption '置疑的数据库名', 'single user', 'true'
Go

DBCC CHECKDB('置疑的数据库名')
Go

update sysdatabases set status =28 where name='置疑的数据库名'
Go

sp_configure 'allow updates', 0 reconfigure with override
Go

sp_dboption '置疑的数据库名', 'single user', 'true'
Go
注:不是我解答的..我在csdn上找到的..希望对你有所帮助 问题别关..有时间的时候我想来看下..

E. sql附加数据库出错一直正在执行

  • 如下,在附加数据的时候出现如下的报错。排除分离和附加SQL SERVER数据库软件的版本问题外。造成这个问题的原因为存放数据库文件夹的权限问题造成的。

F. SQL SERVER 附加数据库时出现的问题

权限问题

找到数据库文件所在的文件夹,右键文件夹-属性-安全 里面给文件夹添加everyone权限, 会提示是否给文件夹子目录也添加该权限,你就选择是,就可以了

具体步骤

1 更改数据库文件所有者

打开数据库文件夹,右键点击数据库文件,选择“属性Property” =>“安全Security”,点击“高级Advanced”按钮。

新出现的窗口中,删除文件所有者信息不明的用户或组,选中“允许父项的继承权限传播到该对象和所有子对象。包括那些在此明确定义的项目(A)。”。

点击“应用(A)”。

点击“编辑Edit”, 点击“更改Change”按钮。


出现选择“用户与组”窗口,点击“高级Advanced”按钮。

新窗口中,点击“现在查找 Find Now”按钮,选择“用户组Users”。

然后一路ok,结束。

2 修改数据库文件所有者权限

再重新右键点击数据库文件,选择“属性Property”=>“安全Security”,

打开的窗口中会看到所有者权限为空。点击“编辑Edit”按钮,

选中“所有者权限”,勾选“完全控制”,然后点击“ok”按钮。

一路ok,结束。

再进行数据库附加,一路顺畅。



G. SQL server 2000附加数据库时出错怎么办

应该是你的数据库日志文件损坏了,单独附加应该不成功。因为单独附加的原理是产生一个空的LDF文件结构,但是前提是之前的Log是干净的关闭,也就是不能有其他Open的事物。
这个问题你可以尝试见一个同名的数据库,然后停掉SQL
Server用出问题的覆盖创建的,然后启动SQL
Server
,改到单用户模式用DBCC
CHECKDB修复,但是会有数据损失。
另外以上的操作建议在测试环境中做,保留一个备份。

H. sqlserver 附加数据库 错误823 如何解决

sqlserver附加数据库错误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)后,停止数据库,把损坏的数据库文件Data.mdf和Test_log.LDF覆盖刚才新建数据库目录下的Data.mdf和Test_log.LDF,同时删除Test_log.LDF文件;启动数据库服务,发现数据库名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_Log.LDF') /* 重建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

热点内容
算法所需 发布:2025-07-02 11:50:29 浏览:310
linux删除组中的用户 发布:2025-07-02 11:48:09 浏览:366
编程员是什么 发布:2025-07-02 11:43:03 浏览:636
如何更改笔记本电脑密码方式 发布:2025-07-02 11:34:07 浏览:52
安卓平板不知道怎么选 发布:2025-07-02 11:33:22 浏览:16
qq空间怎么设密码 发布:2025-07-02 11:30:29 浏览:719
跑跑卡丁车如何更改服务器 发布:2025-07-02 11:27:35 浏览:300
我的世界112服务器存档 发布:2025-07-02 11:25:02 浏览:948
php类函数调用 发布:2025-07-02 11:24:27 浏览:26
redhat存储 发布:2025-07-02 11:12:50 浏览:587