SQL中数据库中KDacctDB怎么删除不了,右击就会出现这样的对话框

SQL中数据库中KDacctDB怎么删除不了,右击就会出现这样的对话框,第1张

请描述清楚,你的数据库版本,你要删除的数据库的状态,是否为灰色质疑状态。

参考答案:

日常对Sql Server 2005关系数据库进行 *** 作时,有时对数据库(如:Sharepoint网站配置数据库名Sharepoint_Config)进行些不正常 *** 作如数据库在读写时而无故停止数据库,从而导致Sql Server 2005数据库不正常中断,当再次打开数据库时会发现某些数据库会被标记为“可疑”(suspect),即在数据库名旁加上了**的惊叹号,这时数据库就不能再被打开了,但数据库的结构及数据内容都还是存在的。

解决方法:

当数据库发生这种 *** 作故障时,可以按如下 *** 作步骤可解决此方法,打开数据库里的Sql 查询编辑器窗口,运行以下的命令。

1、修改数据库为紧急模式

ALTER DATABASE Sharepoint_Config SET EMERGENCY

2、使数据库变为单用户模式

ALTER DATABASE Sharepoint_Config SET SINGLE_USER

3、修复数据库日志重新生成,此命令检查的分配,结构,逻辑完整性和所有数据库中的对象错误。当您指定“REPAIR_ALLOW_DATA_LOSS”作为DBCC CHECKDB命令参数,该程序将检查和修复报告的错误。但是,这些修复可能会导致一些数据丢失。

DBCC CheckDB (Sharepoint_Config , REPAIR_ALLOW_DATA_LOSS)

4、使数据库变回为多用户模式

ALTER DATABASE Sharepoint_Config SET MULTI_USER

5、开始->运行->输入cmd->打开DOS命令窗口,输入以下命令重启数据库服务

Net stop mssqlserver --停止服务

Net start mssqlserver --启动服务

再次,打开Sql Server 2005时被标记为“可疑”的数据库已恢复正常状态。

你本机的数据库版本比你这个主数据文件的版本低

所以报错

建议楼主升级你自己的数据库

也可以直接安装高版本的数据库

你可以在你要附加的数据库服务器上执行select

@@version

查看一下版本信息

然后安装这个版本或更高的版本

有什么问题可以上网随时找我

希望采纳

您好,是这样的:

1首先确认已经备份了mdf和ldf文件。

2 在SQL Server中新建一个同名的数据库,然后停止SQL Server服务。

3 用原有的mdf和ldf文件覆盖新建数据库对应的mdf和ldf文件。

4 重新启动SQL Server服务,这是应该会看到这个数据库处于置疑(Suspect)状态。

5 在SQL查询分析器中执行以下命令,以允许更新系统表:use mastergosp_configure "allow updates",1reconfigurewithoverridego。

6 将这个数据库置为紧急模式:update sysdatabases set status = 32768 where name="db_name"go。

7 使用DBCC CHECKDB命令检查数据库中的错误:DBCC CHECKDB("db_name")GO。

8 如果DBCC CHECKDB命令失败,请转至第10步,否则先将数据库置为单用户模式,再尝试对其进行修复:sp_dboption "db_name","single

user","true"DBCCCHECKDB("db_name",REPAIR_ALLOW_DATA_LOSS)GO

如果在执行DBCCCHECKDB("db_name",REPAIR_ALLOW_DATA_LOSS)命令时提示说数据库未处于单用户模式状态的话,则重新启动SQLServer服务,然后继续尝试。

9 如果DBCCCHECKDB("db_name",REPAIR_ALLOW_DATA_LOSS)命令失败,请转至第10步,否则若成功修复了数据库中的错误:

重新执行DBCC CHECKDB("db_name")命令,确认数据库中已没有错误存在。

清除数据库的置疑状态:sp_resetstatus "db_name"

清除数据库的单用户模式状态:sp_dboption "db_name","single user","false"

重新启动SQL Server服务,如果一切正常的话,则数据库已经成功恢复。

10如果以上步骤都不能解决问题的话,请参考附件中的文档尝试通过重建事务日志来恢复数据库中的数据。如果您只有MDF文件,问题就更加复杂一些,我们需要直接重建事务日志了:

1 在SQL Server中新建一个同名的数据库,然后停止SQL Server服务。

2 用原有的ldf文件覆盖新建数据库对应的mdf文件,将其日志文件(ldf)删除。

3 启动SQL Server服务,并将数据库置为紧急模式(同上: 步骤5和步骤6)。

4 停止并重新启动SQL Server服务。

5 执行以下命令重建数据库日志文件:(下面是个示例,您要用您实际的数据库名)

DBCC REBUILD_LOG("cas_db", "D:\cas_db\cas_db_LogLDF")

6 重新将该数据库置为单用户模式。

7 再次尝试使用DBCC CHECKTABLE或DBCC CHECKDB命令检查并修复数据库中。

试试如下数据库的恢复方法是否可行:

当数据库的主数据MDF文件完好无损时,在丢失了LDF文件的情况下,如何利用MDF文件恢复数据库?我们把SQL Server的日志文件分为两类:一类是无活动事务的日志,另一类是含活动事务的日志,根据不同的日志,采取不同的方法来恢复数据库。

1 无活动事务的日志恢复

无活动事务的日志丢失时,我们很容易利用MDF文件直接恢复数据库,具体方法如下:

①分离被质疑的数据库,可用企业管理器中的"分离数据库工具",或者用存储过程sp_detach_db分离数据库;

②利用MDF文件附加数据库生成新的日志文件,可用企业管理器中的"附加数据库"的工具,或者用存储过程sp_attach_single_file_db附加数据库。

如果数据库的日志文件中含有活动事务,利用此方法就不能恢复数据库。

2 含活动事务的日志恢复

含有活动事务的日志丢失时,利用上述方法就会出现"数据库和日志文件不符合,不能附加数据库"。对于这种情况下,我们采用如下方法:

①新建同名数据库AAA,并设它为紧急模式

·停止SQL Server服务器;

·把数据库主数据MDF文件移走;

·启SQL Server服务器,新建一个同名的数据库AAA;

·停止SQL Server服务器,把移走的MDF文件再覆盖回来;

·启动SQL Server服务器,把AAA设为紧急模式,不过默认情况下,系统表是不能随便修改的,必须首先设置一下使其能被修改,运行以下语句即可:

Use Master

Go

sp_configure ’allow updates’,1

reconfigure with override

Go

接着运行以下语句,把AAA数据库设为紧急模式,即把Sysdatabases表中AAA数据库的status属性设为’37268’,就表示把AAA数据库处于紧急模式。

update sysdatabases set status=32768 where hame=’AAA’

如果没有报告什么错误,就可以进行以下 *** 作。

②设置数据库AAA为单用户模式,并检查数据库

·重启SQL Server服务器;

·把数据库AAA设为单用户模式

Sp_dboption ’AAA’, ’single user’, ’true’

·运行以下语句,检查数据库AAA

DBCC CHECKDB(’AAA’)

如果没有什么大的问题就可以把数据库的状态改回去。

③还原数据库的状态

运行以下语句,就可以把数据库的状态还原:

update sysdatabases set status=28 where name=’AAA’

sp_configure ’allow updates’,0

reconfigure with override

Go

如果没有什么大的问题,刷新一下数据库,数据库AAA又会出现在你面前,但目前恢复工作还没有做完,此时的数据库仍不能工作,还要进行下面的处理,才能真正恢复。

④利用DTS的导入导出向导,把数据库AAA导入到一个新建数据库BBB中

·新建一个数据库BBB;

·右击BBB,选择IMPORT功能,打开导入向导;

·目标源选择"在SQL Server数据库之间复制对象和数据库",这样可以把表结构,数据视图和存储过程导入到BBB中

·再用此功能把BBB库替换成原来的AAA库即可。

到此为止,数据库AAA就完全恢复。

一、正规的SQL服务器需要UPS电源,以保证数据能尽可能不出错的写入到服务器中。至少要求网络交换设备断电先于服务器断电。

二、你这种情况,服务器数据已受损了,不一定能解决,当然,也不排除你运气不错。可以参考下面的 *** 作:

1、新建一同名数据库(文件名,文件组都和原来的一样),然后停止数据库服务,用原来文件替换新建的数据库文件,启动数据库,该数据库被设为suspect

2、把数据库改成紧急模式:

sp_configure 'allow', 1

reconfigure with override

update sysdatabases set status = 32768 where name = '数据库名'

3、把LDF文件改名,再执行

DBCC REBUILD_LOG ('数据库名', 'E:\fdzz\database\fdzz1204_LogLDF' )

4、恢复数据库紧急模式

update sysdatabases set status = 0 where name = '数据库名'

执行

restore database 数据库名 WITH RECOVERY

sp_configure 'allow', 0

reconfigure with override

5、然后用DBCC CHECKDB ('数据库名')看看有没有错误

6、如果上面还是不行,试试吧数据库设为紧急模式,应该可以看到数据了,在把数据导出到一个新的数据库。

以上就是关于SQL中数据库中KDacctDB怎么删除不了,右击就会出现这样的对话框全部的内容,包括:SQL中数据库中KDacctDB怎么删除不了,右击就会出现这样的对话框、(高分)附加数据库的时候出现"所指定的文件不是有效的SQL Server数据库文件"请问如何解决、SQL Server数据库问题等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存