文档库 最新最全的文档下载
当前位置:文档库 › SQL Server2000数据库置疑的解决方法

SQL Server2000数据库置疑的解决方法

SQL Server2000数据库置疑的解决方法
SQL Server2000数据库置疑的解决方法

6.完成后一般就可以访问数据库中的数据了,这时,数据库本身一般还要问题,解决办

法是,利用数据库的脚本创建一个新的数据库,并将数据导进去就行了。

SQL Server数据库文件恢复技术:

SQL Server数据库备份有两种方式,一种是使用BACKUP DATABASE将数据库文件备份出去,另外一种就是直接拷贝数据库文件mdf和日志文件ldf的方式。下面将主要讨论一下后者的备份与恢复。本文假定您能熟练使用SQL Server Enterprise Manager(SQL Server 企业管理器)和SQL Server Quwey Analyser(SQL Server查询分析器)

1、正常的备份、恢复方式

正常方式下,我们要备份一个数据库,首先要先将该数据库从运行的数据服务器中断开,或者停掉整个数据库服务器,然后复制文件。

卸下数据库的命令:Sp_detach_db 数据库名

连接数据库的命令:Sp_attach_db或者sp_attach_single_file_db

s_attach_db [@dbname =] ′dbname′, [@filename1 =] ′filename_n′ [,...16]

sp_attach_single_file_db [@dbname =] ′dbname′, [@physname

=] ′physical_name′

使用此方法可以正确恢复SQL Sever7.0和SQL Server 2000的数据库文件,要点是备份的时候一定要将mdf和ldf两个文件都备份下来,mdf文件是数据库数据文件,ldf是数

据库日志文件。

例子:

假设数据库为test,其数据文件为test_data.mdf,日志文件为test_log.ldf。下面

我们讨论一下如何备份、恢复该数据库。

卸下数据库:sp_detach_db 'test'

连接数据库:sp_attach_db 'test','C:\Program Files\Microsoft SQL Server\MSSQL\Data\test_data.mdf','C:\Program Files\Microsoft SQL

Server\MSSQL\Data\test_log.ldf'

F.设置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 输出了错误信息,请与系统管理员联系。[brown][/i]

说明您的其他程序正在使用该数据库,如果刚才您在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' 中)。

sqlserver200

0数据库置疑的

解决方法选

择自smilegw

的Blog

关键字sqlserver2000数据库置疑的解决方法

出处

先分离数据库

企业管理器--右

键suspect的数

据库--所有任务

--分离数据库

然后备份你的

suspect数据库

的文件,再按下

面的步骤处理:

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

2.再停掉sql server

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

4.再重启sql server

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

USE MASTER GO

SP_CONFIGURE 'ALLOW UPDATES',1 RECONFIGURE

OVERRIDE

GO

UPDATE SYSDATABASES SET STATUS

=32768 WHERE NAME='his222' Go

sp_dboption

'test', 'single user', 'true'

Go

DBCC CHECKDB('test') Go

update sysdatabases set status =28 where

name='test' Go

sp_configure 'allow updates', 0 reconfigure with override

sp_dboption 'test', 'single user', 'false' Go

6.完成后一般就可以访问数据库中的数据了,这时,数据库本身一般还要问题,解决办法是,利用

数据库的脚本创建一个新的数据库,并将数据导进去就行了.

如果这样改不加数据库状态,你就把数据库导成一个新库来代替旧库吧

企业管理器--右键你的数据库--所有任务--导出数据

--目标标数据库选择新建

--选择"

在两个sql数据

库之间复制对象

和数据"

--把"包

含扩展属性"选

上,其他的根据

需要选择

--最后完

!!!

*****************************************************************

* 这类故障是一般是由于磁盘读写问题造成的。

* 下面的语句是修复总部数据库的SQL,如需要修复分部的数据库,请将 'hbposv5' 改为 'hbposv5_bran ch'

* 超市之星系统直接执行

* 快捷通、进销存系列,请将'hbposv5'改为'isd2001v3',如果是分部,改为'isd2001v3_branch'

* 商务通系列,请将'hbposv5'改为'isd2001v4',如果是分部,改为'isd2001v4_branch'

******************************************************************/

--请在查询分析器中执行下列语句.执行前断开其它所有数据库连接,最好是断开网线

USE master

Go

--单用户模式

EXEC sp_dboption 'hbposv5', 'single user', 'TRUE'

go

--数据库检查

DBCC CHECKDB ('hbposv5')

Go

--如果返回结果出现了红色的提示文字,说明数据库中存在错误,需要修复

--数据库修复

DBCC CHECKDB ('hbposv5',repair_rebuild)

Go

--再次数据库检查,如果返回结果中没有了红色的提示文字,说明修复成功;

DBCC CHECKDB ('hbposv5')

Go

--否则意味着还需要更高级别的修复;尝试将上面修复语句的'repair_rebuild'换为'repair_allow_data _loss'再试,之后再次检查数据库。

--如果还有错误未修复,

--退出前请一定要执行以下语句返回到多用户模式

EXEC sp_dboption 'hbposv5', 'single user','FALSE'

go

数据库置疑处理方法

步骤1:

创建一个新的数据库,命名为原来数据库的名字。

步骤2:

停止SQL Server

步骤3:

把老数据库的MDF文件替换新数据库的相应的MDF文件,并把LDF文件删除。

步骤4:

重新启动SQL Server服务,然后运行如下命令:

Use Master

Go

sp_configure 'allow updates', 1

reconfigure with override

Go

begin tran

update sysdatabases set status = 32768 where name = 'hbposv5'

--Verify one row is updated before committing

commit tran

步骤5:

停止SQL然后重新启动SQL Server服务,然后运行如下命令:DBCC TRACEON(3604)

DBCC REBUILD_LOG('db_name','c:\mssql7\data\hbposv5_log.ldf') Go

步骤6:

停止SQL然后重新启动SQL Server服务,然后运行:

use master

update sysdatabases set status = 8 where name = 'hbposv5' Go

sp_configure 'allow updates', 0

reconfigure with override

Go

步骤7:

运行dbcc checkdb(hbposv5) 检查数据库的完整性

注:都要替换成真实的数据库名字。

在表中酸出错误的商品

use isd2001v4_branch

delete from bi_t_item_info where item_no = '6911988010193' ?

SQL Server2000数据库置疑的解决方法

出处:天极网作者:X2006-09-14 09:53评论

字体大小:大| 中| 小

先分离数据库

企业管理器--右键suspect的数据库--所有任务--分离数据库

然后备份你的suspect数据库的文件,再按下面的步骤处理:

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

2.再停掉sql server

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

4.再重启sql server

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

USE MASTER

GO

SP_CONFIGURE 'ALLOW UPDATES',1 RECONFIGURE WITH OVERRIDE

GO

UPDATE SYSDATABASES SET STATUS =32768 WHERE NAME='his222'

Go

sp_dboption 'test', 'single user', 'true'

Go

DBCC CHECKDB('test')

Go

update sysdatabases set status =28 where name='test'

Go

sp_configure 'allow updates', 0 reconfigure with override

Go

sp_dboption 'test', 'single user', 'false'

Go

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

如果这样改不加数据库状态,你就把数据库导成一个新库来代替旧库吧

企业管理器--右键你的数据库--所有任务--导出数据

--目标标数据库选择新建

--选择"在两个sql数据库之间复制对象和数据"

--把"包含扩展属性"选上,其他的根据需要选择

--最后完成

SQL数据库置疑的解决方法

SQL2000数据库置疑的解决方法 首先,在任何操作之前,必须要备份数据库(重要) 一、分离数据库 1、点击“程序》Microsoft SQL Server》企业管理》”,打开企业管理器 2、展开服务器组,然后展开服务器,选中要分离的数据库 3、点击鼠标右键“所有任务》分离数据库”,出现如下窗口 4、点击确定,该选定的数据库就被分离。 5.分离后,把原数据库里面.MDF(主数据文件).LDF(事务日志文件)这两个文件复制到目标盘下,例:D盘下 注意事项,只有“使用本数据库的连接”数为0时,该数据库才能分离。所以分离数据库时尽量断开所有对要分离数据库操作的连接,如果还有连接数据库的程序,会出现数据库的连接状态窗口,显示正在连接此数据库的机器以及名称,点击清除按钮将从服务器强制断开现有的连接。

二、附加数据库 1、在附加数据库之前,首先要移动数据库文件 在附加数据库之前,您必须将与数据库关联的 .MDF(主数据文件).LDF(事务日志文件)这两个文件复制到目标硬盘下,或是同一服务器的不同硬盘目录下。这两个文件一般位于C:\Program Files\Microsoft SQL Server\MSSQL\Data 目录下。 2、点击“程序》Microsoft SQL Server》企业管理》”,打开企业管理器 3、展开服务器组,然后展开服务器 4、右击"数据库",然后选择“所有任务》附加数据库”,弹出窗口 5、输入要附加的数据库的MDF名称。如果不确定文件位于何处,单击浏览("...")搜索。若要确保指定的 MDF 文件正确,请单击"验证"。在"附加为"框内,输入数据库的名称。数据库名称不能与任何现有数据库名称相同。指定数据库的所有者 6、单击"确定"按钮。新附加的数据库的数据库节点即创建在"数据库"文件夹中

exchange装入数据库失败解决办法.pdf

Microsoft Exchange 错误 装入数据库“xxxx”失败。 xxxx 失败 错误: Exchange 无法装入指定的数据库。指定的数据库: WIN2003\xxxx\xxxx;错误代码: MapiExceptionCallFailed: Unable to mount database. (hr=0x80004005, ec=-515) 首先声明我用的是exchange server 2007 还有类似的比如544、455错误等,主要是因为某种原因数据库的日志文件丢失或者错误造 成的。可以通过以下方法来解决。 这里要使用到eseutil.exe这个程序,他在ex的安装目录下的\bin\eseutil.exe 好下面我们来操作来恢复日志文件。 首先关掉杀毒软件,这主要是为了防止它扫描ex安装的目录造成文件锁定之类的问题,然 后在出问题的数据库所在的的目录,比如 \exchange\mailbox\firststroagegroup目录下是数据库所在目录,那么在这个文件夹上 运行cmd,然后再命令窗口中输入 eseutil -p "xxx.edb" ; 然后运行 eseutil -mh "xxx.edb",在显示出来的结果中查看状态 = 干净关闭或者state=cleanshut;然后我们进行下一步运行eseutil /r e00 ,运行后会看到很多log文件,这里最后会提示你最后一个log文件是比如 0ad,缺少了log文件0ae,这说明丢失了0AE.LOG这个文件,不要紧,进行下面操作, (注意)虽然进行后会丢失0ad之后的数据,但是也比加载不了数据库好吧!来吧继续 吧: 找到\exchange\mailbox\firststroagegroup目录下最新的LOG文件,将其改名为LOG文件的最前三个字符,比如LOG文件全名是“e000000000ad”那 么把它改成“e00”,同理如果是“e010000000ad”那么把它改成“e01”,这时你会发现本 文件夹有E01这个文件重复了,备份好原来的那个文件,然 后删除它,再吧0AD改名成E00,好啦大功告成了,去EMC里加载这个数据库试试,是不 是可以了奶? 哈哈其他数据库也这么操作,OWA又可以正常访问了嘎嘎! 下面是微软给出的官方说法,其实跟我的一样,只不过是绕口点: 使用下列方法之一恢复 Exchange 日志文件: 方法 1:如果 Exchange 日志文件被隔离 将 Exchange 日志恢复到包含生产日志文件的文件夹。 启动"Microsoft Exchange 信息存储"服务。如果不缺少任何其他日志文件,将装入数据 库。如果缺少其他日志文件,请查看缺少的日志文件是否位于 防病毒程序的隔离文件夹中。如果日志文件不在隔离文件夹中,请参阅方法 2。 如果 Exchange 日志文件被删除,则必须通过备份还原存储组数据库。然后必须重播日志 文件。若要还原可用的数据库,请执行下列步骤:

SQLServer2000数据库置疑的解决方法

SQLServer2000数据库置疑的解决方法sql2000中MSDB数据库置疑状态的解决方法 问题:我的SQL Server 2000的MSDB数据库,因为不正常关机,造成了置疑状态,请问采用什么方法能够弥补,解决方法一:你可以采用以下的代码进行修复: USE MASTER GO SP_CONFIGURE 'ALLOW UPDATES',1 RECONFIGURE WITH OVERRIDE GO UPDATE SYSDATABASES SET STATUS =32768 WHERE NAME='msdb' Go sp_dboption 'msdb', 'single user', 'true' Go DBCC CHECKDB('msdb') Go update sysdatabases set status =28 where name='msdb' Go sp_configure 'allow updates', 0 reconfigure with override Go sp_dboption 'msdb', 'single user', 'false' Go 解决方法二:MSDB数据库解决过程 难点:由于MSDB数据库不能删除,将其文件拷出来,再次附加数据库,但新的不能同名,遇到了困难。附加数据库不能叫MSDB,也就是

1:先停止整个数据库,将该数据库的文件msdbdata.mdf和msdblog.ldf拷贝粘贴出来到另一个目录下。 2:将以上的文件再拷贝到另一个目录下,也就是说复制两次。 3:选择数据库右击鼠标 --》所有任务--》附加数据库将复制出的一个备份文件附加上去,其中,数据库名称叫MSDB1,用户是SA或ADMINISTRATOR。 4:将MSDB1数据库备份,备份成一个文件,当时我的叫MSDB。BAK。 5:选择置疑的数据库MSDB,选择恢复数据库,将刚才备份出来的数据库强行恢复到MSDB。 6:问题解决,MSDB库又能正常使用。 完成后赶快将数据库再次备份一次。呵呵。 另附:数据库置疑解决办法 还有,现在修复好了,但昨天的数据丢失了,以前的数据倒还在。难道昨天发生了什么异常情况, 我这里一篇解决数据库质疑的文档,提供给大家,日后备用: SQL SERVER数据库置疑后恢复步骤 1( 恢复步骤: a.将smlog_log.ldf文件备份到其它目录下; b.将源目录下的smlog_log.ldf文件改名为smlog_log_bak.ldf; c.执行以下语句修改数据库的状态: use Master go update sysdatabases set status=32768 where name=’数据库名称’ --修改状态 go shutdown with nowait --停止数据库服务器 go

连接数据库出错处理办法

https://www.wendangku.net/doc/b01838523.html,没学好,又要学jsp了.... 1. 安装:SQL Server 2000 Driver for JDBC Service Pack 3 下载安装JDBC SP3 https://www.wendangku.net/doc/b01838523.html,/downloads/details.aspx?familyid=07287B11-0502-461 A-B138-2AA54BFDC03A&displaylang=en 里面的SetUp.exe 按照提示安装可以了.成功后有三个文件要使用: c:\program files\Microsoft SQL Server 2000 Driver for JDBC\lib\msbase.jar c:\program files\Microsoft SQL Server 2000 Driver for JDBC\lib\msutil.jar c:\program files\Microsoft SQL Server 2000 Driver for JDBC\lib\mssqlserver.jar 2.测试代码 新建类文件Connect.java. package test; import java.*; import java.sql.Driver; public class Connect{ private java.sql.Connection con = null; private final String url = "jdbc:m icrosoft:sqlserver://"; private final String serverName= "localhost"; private final String port Number = "1433"; private final String databaseName= "DBtest"; private final String userName = "sa"; private final String password = "123456"; // Informs the driver to use server a side-cursor, // which permits m ore than one active statem ent // on a connection. private final String selectMethod = "cursor"; // Constructor public Connect(){} private String getConnectionUrl(){ return

数据库置疑_及修复

Sqlserver 数据库823错误(置疑)的解决方案 一、SQL-Server数据库置疑: 1、异常情况:服务器在正常运行的情况下突然断电,导致数据库文件损坏,具体表现是:数据库名后面有“(置疑)”字样。 2、异常分析:关于823错误的SQL-SERVER 中的帮助: ================================ 错误823 严重级别24 消息正文 在文件%4的偏移量,%3的索引,%2过程中,检测到I/O 错误%1。 解决办法: 准备工作: ①停止sql server服务,找到置疑库的mdf,ldf文件复制出来,这里假设叫kmcyV51_data.mdf(ldf),并与企业管理器中删除该数据库; ②用KM安装包下db_setup.exe建立一个空库(名称和质疑数据库名一致kmcyv51),选择服务器节点,右键停止数据库服务,把损坏的数据库文件kmcyv51_Data.mdf覆盖刚才新建数据库目录下,同时删除kmcy_v51_log.LDF文件;右键节点启动数据库服务,发现数据库名kmcyv51后面有“置疑”字样。 打开SQL自带查询分析器,在master数据库分别执行如下SQL语句: (注意更改数据库名) use master exec sp_configure 'allow updates',1 RECONFIGURE WITH OVERRIDE /* 打开修改系统表开关*/ update sysdatabases set status=32768 where name = 'kmcyv51' /* 设置紧急状态*/ sp_dboption 'kmcyv51', 'single user', 'true' /*启用单用户*/ DBCC REBUILD_LOG ('kmcyv51','E:\km软件_data\KmcyV51_Log.LDF') /* 重建LDF文件*/ update sysdatabases set status=28 where name= 'kmcyv51' /* 设置正常状态*/ --或者 update sysdatabases set status = 16 where name = 'kmcyv51' RESTORE DATABASE kmcyv51 WITH RECOVERY /* 恢复数据库*/ exec sp_configure 'allow updates',0 RECONFIGURE WITH OVERRIDE /* 关闭修改系统表开关*/ sp_dboption 'kmcyv51', 'single user', 'false' /* 关闭单用户模式*/ 如果问题依然存在,最笨的一个方法就是新建另一个数据库,把 原数据库各个表的数据导出到新建数据库表中。

SQL server 2008 数据库置疑的处理办法

SQL server 2008 数据库置疑的处理办法 1 把问题数据库备份后直接删除 停掉SQLSERVER服务,把服务器上出问题的数据库, 假设名称为ErrorDB的数据库文件及日志文件备份到其他目录,然后直接将其删除,把其数据库文件及日志文件也删除 2 新建同名数据库 启动SQLSERVER服务,新建同名数据库ErrorDB,文件目录和日志和原来一致 3 用备份的数据库文件替换新的数据库文件 停掉SQLSERVER服务,把备份的数据库文件替换新的数据库文件(只替换数据库文件,不替换日志文件) 启动SQLSERVER服务,打开数据库,这时数据库应该是不能访问的 -------------------设置应急模式、单用户模式、检查修复数据,取消单用户模式 ---------------------- 4 将数据库设置为应急状态 alter database ErrorDB set emergency 执行后,为了保险起见,重新停止、开启的SQLSERVER服务 再打开数据库,已经可以看到里面的内容了,如表,视图,存储过程等 数据库名称后有紧急标志,能看到数据库结构,但无法进行备份等操作 5 将数据库设置为单用户模式 ALTER DATABASE ErrorDB SET SINGLE_USER 6 对数据库进行检查修复 dbcc checkdb(EIMSDb,REPAIR_ALLOW_DATA_LOSS) dbcc checkdb(EIMSDb,REPAIR_REBUILD) 操作后,仍然停止启动SQLSERVER服务(不确定是否需要,我只是为了想无干扰查看执行后的数据库状况)重新打开数据库,已经是正常状态了,没有应急提示了 7 取消单用户模式 exec sp_dboption EIMSDb, N'single', N'false'

SQL数据库置疑解决方案(原因分析、预防措施、修复方法)附图

SQL数据库置疑解决方案 一、数据库置疑产生的原因 1、SQL Server所在分区空间是否够? 数据库文件大小是否达到最大文件限制? FAT32的格式只支持4G以内的文件。 2、数据库文件损坏或被非正常删除时出现这种情况。 3、病毒防火墙的扫描也会引起数据库置疑。 4、当SQL Server启动时,将会尝试获得对数据库文件的排他访问权,如果此时该文件被其他程序占用,或者遗失,数据库将会被标记为置疑。 5、电脑非法关机也会造成数据库置疑。 6、电脑磁盘有坏道有可能造成数据库置疑。 二、数据库置疑的预防 1、数据库存放的盘符,空间是否够大,经常检查盘符的空间。 2、数据库存放的盘符的格式设置为NTFS格式。 3、进行病毒清除时,尽量把SQL服务停掉,再进行检查。 4、尽量减少非正常关机。 5、建议客户购买后备电源。 6、给客户实施软件之后一定要做好自动备份。 7、建议客户每隔一定时间手动备份一次。 三、数据库置疑的修复 1、正常的备份、SQL数据库恢复方式 正常方式下,我们要备份一个数据库,首先要先将该数据库从运行的数据服务器中断开,或者停掉整个数据库服务器,然后复制文件。 卸下数据库的命令:Sp_detach_db 数据库名 连接数据库的命令:Sp_attach_db或者sp_attach_single_file_db s_attach_db [@dbname =] ′dbname′, [@filename1 =] ′filename_n′[,...16] sp_attach_single_file_db [@dbname =] ′dbname′, [@physname =] ′physical_name′ 使用此方法可以正确恢复SQL Sever7.0和SQL Server 2000的数据库文件,要点是备份的时候一定要将mdf和ldf两个文件都备份下来,mdf文件是数据库数据文件,ldf是数据库日志文件。 例子: 假设数据库为pdm,其数据文件为pdm_data.mdf,日志文件为pdm_log.ldf。 下面我们讨论一下如何备份、恢复该数据库。 卸下数据库:sp_detach_db 'pdm' 连接数据库:sp_attach_db 'pdm','C:\Program Files\Microsoft SQL Server\MSSQL\Data\pdm_data.mdf','C:\Program Files\Microsoft SQL Server\MSSQL\Data\pdm_log.ldf'

数据库状态为置疑.只读.脱机.紧急模式时的解决办法

SQl数据库状态为置疑,只读\脱机\紧急模式时的解决办法 SQl数据库状态为置疑,只读\脱机\紧急模式时的解决办法2010-05-08 18:44这是SQL2000常遇到的错误,楼主按照以下方法修复,修复完,检查一下数据库是否已完全修复,没完全修复时最低都可导出数据,要用数据库生成一个空库脚本,把修复数据库的数据用DTS导入到新库。。。 A.建立一个供恢复使用的数据库 我们使用默认方式建立一个供恢复使用的数据库(如iBusinessWork)。可以在SQL Server Enterprise Manager 里面建立。 B.停掉数据库服务器。 C.调整数据库与日志文件. 将刚才生成的数据库的日志文件iBusinessWork_log.ldf删除,用要恢复的数据库mdf文件覆盖刚才生成的数据库数据文件iBusinessWork_data.mdf。 D.启动数据库服务器。 此时会看到数据库iBusinessWork的状态为“置疑”。这时候不能对此数据库进行任何操作。 E.设置数据库允许直接操作系统表。 use master go sp_configure 'allow updates',1 go reconfigure with override go F.设置iBusinessWork为紧急修复模式 update sysdatabases set status=-32768 where dbid=DB_ID('iBusinessWork') 关闭打开企业管理器,此时可以在SQL Server Enterprise Manager里面看到该数据库处于“只读\置疑\脱机\紧急模式”可以看到数据库里面的表,但是仅仅有系统表 G.下面执行真正的恢复操作,重建数据库日志文件 dbcc rebuild_log('iBusinessWork','E:\Microsoft SQL Server\Data\iBusinessWork_log.ldf') 执行过程中,如果遇到下列提示信息: 服务器: 消息5030,级别16,状态1,行 1 未能排它地锁定数据库以执行该操作。 DBCC 执行完毕。如果DBCC 输出了错误信息,请与系统管理员联系。 说明您的其他程序正在使用该数据库,如果刚才您在F步骤中使用SQL Server Enterprise Manager打开了iBusinessWork库的系统表,那么退出SQL Server Enterprise Manager就可以了。(关闭企业管理器,如果别的机器从网络访问数据库,也把网络关闭) 正确执行完成的提示应该类似于:

S Q L 数据库出现置疑怎么解决

SQL数据库置疑的解决方法 首先,在任何操作之前,必须要备份数据库(特别注意) 一、分离数据库 1、点击“程序》Microsoft SQL Server》企业管理》”,打开企业管理器 2、展开服务器组,然后展开服务器,选中要分离的数据库 3、点击鼠标右键“所有任务》分离数据库”,出现如下窗口 4、点击确定,该选定的数据库就被分离。 5.分离后,把原数据库里面.MDF(主数据文件).LDF(事务日志文件)这两个文件复制到目标盘下,例:D盘下 注意事项,只有“使用本数据库的连接”数为0时,该数据库才能分离。所以分离数据库时尽量断开所有对要分离数据库操作的连接,如果还有连接数据库的程序,会出现数据库的连接状态窗口,显示正在连接此数据库的机器以及名称,点击清除按钮将从服务器强制断开现有的连接。

二、附加数据库 1、在附加数据库之前,首先要移动数据库文件 在附加数据库之前,您必须将与数据库关联的 .MDF(主数据文件).LDF(事务日志文件)这两个文件复制到目标硬盘下,或是同一服务器的不同硬盘目录下。这两个文件一般位于C:\Program Files\Microsoft SQL Server\MSSQL\Data 目录下。 2、点击“程序》Microsoft SQL Server》企业管理》”,打开企业管理器 3、展开服务器组,然后展开服务器 4、右击"数据库",然后选择“所有任务》附加数据库”,弹出窗口 5、输入要附加的数据库的MDF名称。如果不确定文件位于何处,单击浏览("...")搜索。若要确保指定的 MDF 文件正确,请单击"验证"。在"附加为"框内,输入数据库的名称。数据库名称不能与任何现有数据库名称相同。指定数据库的所有者 6、单击"确定"按钮。新附加的数据库的数据库节点即创建在"数据库"文件夹中

Mysql常见错误提示及解决方法

Mysql常见错误提示及解决方法 130 :文件格式不正确。(还不是很清楚错误的状况) 145 :文件无法打开。 1005:创建表失败。 1006:创建数据库失败。 1007:数据库已存在,创建数据库失败。 1008:数据库不存在,删除数据库失败。 1009:不能删除数据库文件导致删除数据库失败。 1010:不能删除数据目录导致删除数据库失败。 1011:删除数据库文件失败。 1012:不能读取系统表中的记录。 1016:文件无法打开,使用后台修复或者使用phpmyadmin 进行修复。 Quote: 开始=>所有程序=>附件=>命令提示符 输入mysql 所在硬盘盘符 cd mysql 所在目录 cd bin 输入myisamchk -f D:usr/local/mysql/data/bbs/PW_members.MYI ps : D:usr/local/mysql/data/bbs 是你论坛数据库的路径 -f 根据具体情况选择,一般也可以选择-r 注意你的系统C盘或放数据库的硬盘空间是否足够,一般小于1G 很容易出现错误。或用mysqlcheck命令进行修复。具体的方法:利用命令行进入mysql/bin目录,执行mysqlcheck -o -r phpwind -uroot -p 其中phpwind是你数据库的名称,root是你的数据库用户名,然后会提示你输入密码。然后就会修复你的数据库。 1017:服务器非法关机,导致该文件损坏。 1020:记录已被其他用户修改。 1021:硬盘剩余空间不足,请加大硬盘可用空间。 1022:关键字重复,更改记录失败。

1023:关闭时发生错误。 1024:读文件错误。 1025:更改名字时发生错误。 1026:写文件错误。 1030:可能是服务器不稳定。(具体原因不是很清楚) 1032:记录不存在。 1036:数据表是只读的,不能对它进行修改。 1037:系统内存不足,请重启数据库或重启服务器。 1038:用于排序的内存不足,请增大排序缓冲区。 1040:已到达数据库的最大连接数,请加大数据库可用连接数。 Quote: 在my.ini 修改max_connections=100为max_connections=1000或更大,重启mysql 1041:系统内存不足。 1042:无效的主机名。 1043:无效连接。 1044:数据库用户权限不足,请联系空间商解决。 1045:数据库服务器/数据库用户名/数据库名/数据库密码错误,请联系空间商检查帐户。Quote: 方法:确保论坛data目录下的sql_config.php用户名与密码都正确.如果用户忘记了数据库的密码,可以按如下方式进行密码的修改: 如果MySQL 正在运行,首先停止。 启动MySQL :bin/safe_mysqld --skip-grant-tables & 就可以不需要密码就进入MySQL 了。 然后就是 >use mysql >update user set password=password("new_pass") where user="root"; >flush privileges; 1046:没有选择数据库。 1048:字段不能为空。

食通天SQL SERVER数据库置疑及修复

食通天SQL SERVER数据库置疑及修复 数据库置疑处理 提要:在数据库置疑或者修复的处理过程中,须先将文中的数据库更改为真实的数据库名称. 数据库置疑修复处理完成后,需执行第二步骤,使用DBCC语句对数据库进行检测并修复错误. 对于损坏的数据库,可参照数据库修复处理方法进行处理. 步骤1: 停止SQL服务管理器,将原数据文件拷贝出来进行备份,然后将原数据库删除,使用思迅数据库安装程序创建一个新的数据库。 步骤2: 停止SQL Server 服务管理器 步骤3: 用备份出来的老数据库的MDF文件替换新数据库相应的MDF文件,并把LDF文件删除。 步骤4: 重新启动SQL Server服务,然后运行如下命令: Use Master Go sp_configure 'allow updates', 1 reconfigure with override Go begin tran update sysdatabases set status = 32768 where name = 'hbfsv8' --Verify one row is updated before committing commit tran 步骤5:

停止SQL然后重新启动SQL Server服务,然后运行如下命令: DBCC TRACEON(3604) DBCC REBUILD_LOG('db_name','C:\ProgramFiles\Microsoft SQL Server\MSSQL\Data\hbfsv8_log.ldf') Go --注:此处的db_name一定要更换为需要修复的数据库名称,比如此实例中的hbfsv8 步骤6: 停止SQL然后重新启动SQL Server服务,然后运行: use master update sysdatabases set status = 8 where name = 'hbfsv8' Go sp_configure 'allow updates', 0 reconfigure with override Go 步骤7: 运行dbcc checkdb(hbfsv8) 检查数据库的完整性

安装数据库过程中常见问题解决方法

一、装数据库时出现command line option syntax error!type command /? for help错误 当安装程序安装到: 安装程序正在安装ms数据访问组件 时,屏幕出现错误提示: command line option syntax error,type command/? for help 然后点确定继续,结果到: 安装程序正在安装HTML帮助 时,屏幕又出现标题为html help 1.32 update错误警对话框提示:command line option syntax error,type command/? for help 然后我再点确定继续,安装程序开始复制文件,复制完文件后又出现错误提示: 无法找到动态连接库sqlunirl.dll(sqlunirl.dll是MDAC的一个组件),于指定路径 点确定后安装程序停止运行,让查看安装日志 解决方法: 引起这问题的原因是,SQLServer的安装文件,放在中文目录下了. 将SQLServer的安装文件,拷到英文目录,安装就OK 比如将: D:\软件\Sqlserver 中的"软件"去掉.

注: MDAC (Microsoft Data Access Components)是微软数据库访问组件,Netpise和许多利用数据库的软件都需要操作系统安装MDAC。很多用户的操作系统中已经存在了MDAC,有些是操作系统内置的、有些是其它应用程序安装的。 补充方法(未测试) 1.重装MDAC 2.修改注册表: HKEY_LOCAL_MACHINE\SOFTW ARE\Microsoft\Windows\CurrentVersion\ setup 删除ExceptionComponents 重启,安装. 很多时候不需要第一步操作 二、解决由于sql2000日志文件引起的“置疑”。 日志有错误--------重新附加提示日志有错误。 日志文件丢失-----丢失了.ldf文件,只有.mdf文件的数据库重建。 步骤: 一、备份“置疑”数据库的数据文件,因为日志文件.ldf出错,可以只备份.mdf 文件。 二、打开企业管理器(SQL Server Enterprise Manager),删除“置疑”数据库,如果提示删除错误,可以重启数据库服务器,然后再试。 三、在企业管理器中,新建同名数据库(假如数据库为test),注意建立的数据库名称,还有数据文件名要保持和原数据库一致。 四、停止数据库服务器。 五、将刚才新建数据库生成的数据库的日志文件test_log.ldf删除,用要恢复的数据库.mdf文件覆盖刚才生成的数据库数据文件test_data.mdf。

用友软件数据库质疑处理办法

SQL Server数据库错误9003(LSN无效)的处理方法 国内一些ERP、财务软件一般后台都使用SQL Server的数据库,SQL Server 作为一个中大型数据库是不应该在桌面系统上运行的,小规模企业一般不使用专用服务器,大部分直接使用XP系统+桌面引擎MSDE作为SQL数据库的后台服务。这种方案当然就谈不上什么稳定性和可靠性了,最糟的是在死机、重启或意外掉电后数据库会出现打不开的现象,其中错误9003:LSN(xx:xx:x)无效是最常见的问题。 这种情况是数据库的日志文件(LDF)数据不同步造成的,可以根据数据库MDF文件重建日志文件修复。 以下是详细步骤,有颜色标注的部分应该按本机的实际名称进行修改。 假设损坏的数据库名称是MYDB_001,对应的数据库名称是MyDB_Data.MDF,日志文件是MyDB_Log.LDF,数据库所在文件夹为D:\MYDATA\; 1、先把损坏的数据库对应的文件MyDB_Data.MDF和MyDB_Log.LDF备份到 别的地方; 2、在SQL Server和企业管理器中创建一个与损坏数据库同名的数据库, 对应的数据库文件名称也是MyDB_Data.MDF和MyDB_Log.LDF; 3、停止SQL Server服务; 4、删除第2步新建数据库产生的MyDB_Log.LDF文件;

5、用损坏的数据库数据文件MyDB_Data.MDF覆盖第2步新建数据库产生的MyDB_Data.MDF文件 6、启动SQL Server服务; 7、进入企业管理器,刷新数据库状态,此时数据库MYDB_001状态为“置疑”; 8、在SQL Server服务器属性中设置SQL Server数据库服务器“允许对系统目录直接修改” 9、从SQL企业管理器的“工具”菜单启动“SQL 查询分析器”; 10、输入以下代码并运行使MYDB_001数据库进入紧急修复模式:

数据库被置疑后的解决方法

数据库被置疑后的解决方法 A.我们使用默认方式建立一个供恢复使用的数据库(如test)。可以在SQL Server Enterprise Manager 里面建立。 B.停掉数据库服务器。 C.将刚才生成的数据库的日志文件test_log.ldf删除,用要恢复的数据库mdf文件覆盖刚才生成的数据 库数据文件test.mdf。 D.启动数据库服务器。此时会看到数据库test的状态为"置疑"。这时候不能对此数据库进行任何*作。 E.设置数据库允许直接*作系统表。此*作可以在SQL Server Enterprise Manager里面选择数据库服 务器,按右键,选择"属性",在"服务器设置"页面中将"允许对系统目录直接修改"一项选中。也可以 使用如下语句来实现。 use master go sp_configure 'allow updates',1 go reconfigure with override go F.设置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 输出了错误信息,请与系统管理员联系。

数据库服务错误error26解决方法

错误提示:在建立与服务器的连接时出错。在连接到SQL Server 2005 时,在默认的设置下SQL Server 不允许进行远程连接可能会导致此失败。(provider: SQL 网络接口, error: 26 - 定位指定的服务器/实例时出错) 有段时间遇到上面问题,在网上查找了许多方案,但那些方案都没能够解决问题,在解决其他问题时,发现一些其他端倪,返回来解决此问题,将该问题解决。总结了我的解决方案(即下文中的方案一),并且我把在网上搜索来的解决方案也汇总了一下,与大家分享。 分析: “在建立与服务器的连接时出错”说明与数据库服务器有关; “在默认的设置下SQL Server 不允许进行远程连接可能会导致此失败。”说明与权限有关;“provider: SQL 网络接口”说明当前登录身份是网络接口; “error: 26 - 定位指定的服务器/实例时出错”说明定位不上指定的服务器实例。 方案一: 1、查看数据库服务是否存在; 2、右击数据库实例服务--属性—登陆,将登陆身份改为本地系统(local system); 3、启动服务; 4、若启动、暂停、停止等选项都是灰色,请查看启动类型是不是“禁用”了,若“禁用” 了,请改为“自动”,然后启动服务; 方案二: 首先请确认SQL SERVER EXPRSS已安装到本地计算机上,并且SQL SERVER (SQLEXPRESS)服务已经成功启动。如果问题仍然存在,可以尝试开始->所有程序->MS SQL Server2005->配置工具->MS SQL Server2005外围应用配置器-> “服务和连接的外围应用配置器”,然后将“远程连接”配置为“同时使用TCP/IP 和named pipes”。Analysis Services下远程连接选择"本地连接和远程连接",应用后重启。 由于启动用户实例的进程时出错,导致无法生成SQL Server 的用户实例。该连接将关闭。将连接字符串中的“User Instance=True”修改为“User Instance=False”即可。 更改数据库文件的Everyone修改权限,在windows xp中有两个方法可以修改它: 1,在"我的电脑"窗口中点"工具",选择"文件夹"选项,选择"查看"选项,在高级设置中将使用简单文件共享复选框中的小勾勾掉。然后选定数据库文件,你就可以发现多了一个安全选项,点击它,选择everyone用户组,如果没有,你可以自行添加它。然后更改它的控制权限。 2,你也可以重新启动计算机,在进入系统时按下F8,选带网络连结的安全模式,然后你选定数据库文件,这时也有一个安全选项,你按照上面的方法也可以完成同样的功能。 注:该方法解决以下问题: 说明: 执行当前Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.Data.SqlClient.SqlException: 尝试为文件项目名

金蝶SQL数据库置疑解决方法

解决由于sql2000日志文件引起的“置疑”。 日志有错误--------重新附加提示日志有错误。 日志文件丢失-----丢失了.ldf文件,只有.mdf文件的数据库重建。 步骤: 一、备份“置疑”数据库的数据文件,因为日志文件.ldf出错,可以只备份.mdf文件。 二、打开企业管理器(SQL Server Enterprise Manager),删除“置疑”数据库,如果提示删除错误,可以重启数据库服务器,然后再试。 三、在企业管理器中,新建同名数据库(假如数据库为test),注意建立的数据库名称,还有数据文件名要保持和原数据库一致。 四、停止数据库服务器。 五、将刚才新建数据库生成的数据库的日志文件test_log.ldf删除,用要恢复的数据库.mdf 文件覆盖刚才生成的数据库数据文件test_data.mdf。 六、启动数据库服务器。此时会看到数据库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)里面看到该数据库处于“只读\置疑\脱机\紧急模式”可以看到数据库里面的表,但是仅仅有系统表。 九、下面执行真正的恢复操作,用dbcc rebuild_log命令来重建数据库日志文件(重建路径根据你实际的数据库路径来)。

sqlserver数据库连接失败错误及解决方法

SQL Server数据库连接失败错误及解决方法 在使用SQL Server 的过程中,用户遇到的最多的问题莫过于连接失败了。一般而言,有以下两种连接SQL Server 的方式,一是利用SQL Server 自带的客户端工具,如企业管理器、查询分析器、事务探查器等;二是利用用户自己开发的客户端程序,如ASP 脚本、VB程序等,客户端程序中又是利用ODBC 或者OLE DB 等连接SQL Server。下面,我们将就这两种连接方式,具体谈谈如何来解决连接失败的问题。 一、客户端工具连接失败 在使用SQL Server 自带的客户端工具(以企业管理器为例)连接SQL Server时,最常见的错误有如下一些: 1、SQL Server 不存在或访问被拒绝 ConnectionOpen (Connect()) 2、用户'sa'登录失败。原因:未与信任SQL Server 连接相关联。

3、超时已过期。 下面我们依次介绍如何来解决这三个最常见的连接错误。 第一个错误"SQL Server 不存在或访问被拒绝"通常是最复杂的,错误发生的原因比较多,需要检查的方面也比较多。一般说来,有以下几种可能性: 1、SQL Server名称或IP地址拼写有误; 2、服务器端网络配置有误; 3、客户端网络配置有误。 要解决这个问题,我们一般要遵循以下的步骤来一步步找出导致错误的原因。 首先,检查网络物理连接: ping <服务器IP地址> 或者 ping <服务器名称> 如果ping <服务器IP地址> 失败,说明物理连接有问题,这时候要检查硬件设备,如网卡、HUB、路由器等。还有一种可能是由于客户端和服务器之间安装有防火墙软件造成的,比如ISA Server。防火墙软件可能会屏蔽对ping、telnet 等的响应,因此在检查连接问题的时候,我们要先把防火墙软件暂时关闭,或者打开所有被封闭的端口。

SQL SERVER数据库置疑后恢复步骤

SQL SERVER数据库置疑后恢复步骤 1.恢复步骤: a.将smlog_log.ldf文件备份到其它目录下; b.将源目录下的smlog_log.ldf文件改名为smlog_log_bak.ldf; c.执行以下语句修改数据库的状态: use Master go update sysdatabases set status=32768 where name=’数据库名称’ --修改状态 go shutdown with nowait --停止数据库服务器 go d.退出SQL并在命令行模式中通过下面的代码重新启动SQL: sqlservr -c -T3608 -T4022 --安全模式启动SQL SERVER e.在查询分析器中执行以下语句来查看刚刚修改过状态的数据库状态: select Name,Status from sysdatabases where Name=’ 数据库名称’ f.执行以下代码新建日志文件: dbcc traceon(3604) --跟踪 dbcc rebuild_log(‘数据库名称’,’日志文件名称’) --文件名要有全路径和扩展名 g.将数据库置回正常状态: update sysdatabases set status=0 where name=’数据库名称’ h.重新启动数据库后执行以下语句检查数据库: DBCC CHECKDB --如果执行完有错误用以下语句修复 i.要修复数据库必需将数据库改为单用户模式: Exce sp_dboption ‘数据库名称’,’single user’,’true’(‘false’恢复多用户) j.执行以下语句修复数据库: DBCC CHECKDB(‘数据库名称’,REPAIR_ALLOW_DATA_LOSS) REPAIR_ALLOW_DATA_LOSS:是比较高级的修复方式 REPAIR_FAST:是简单快速的修复方式 相似问题:系统重装,忘记了备份SQL,然后又通过数据恢复工具找回了mcdb_data.mdf 和mcdb_Log.LDF,在企业管理器上用附加数据库时提示错误9004,日志错误,在网上找了诸多方法,也试过建个同名空数据库然后停止SQL SERVER然后覆盖掉MDF。但多不行,哪个大哥救救 这是详细步骤. 1.先建一个与你要恢复的数据库名称一样的数据库。 2.停止sql server,把你的数据库替换这个数据库。 3.重启sql server,把数据库设置为紧急状态。 sp_configure 'allow',1 reconfigure with override update sysdatabases set status=32768 where name='yourdata' 4.重建日志文件。 dbcc rebuild_log('yourdata','your data path\newdata_log.ldf') 5.取消紧急模式。

相关文档
相关文档 最新文档