使用DBCC CHECKDB手工修复数据库

alter   database   accp  set   single_user   with   rollback   immediate  

go

alter database  accp  set emergency

go

--查看数据库可疑的原因

dbcc checkdb ('accp')

go

---看报什么错误,对应修复尝试

DBCC CHECKDB ('数据库 或损坏的表名', REPAIR_FAST)

--重建索引并修复

DBCC CHECKDB (数据库或损坏的表名', REPAIR_REBUILD)

--如果必要允许丢失数据修复

DBCC CHECKDB ('数据库或损坏的表名', REPAIR_ALLOW_DATA_LOSS)

go

alter database accp set multi_user   with rollback immediate

go

查看本栏目更多精彩内容:http://www.bianceng.cnhttp://www.bianceng.cn/database/SQLServer/

时间: 2024-10-16 04:55:00

使用DBCC CHECKDB手工修复数据库的相关文章

MSSql使用DBCC CHECKDB修复数据库或表

MS Sql Server 提供了很多数据库修复的命令,当数据库质疑或是有的无法完成读取时可以尝试这些修复命令. 1. DBCC CHECKDB 重启服务器后,在没有进行任何操作的情况下,在SQL查询分析器中执行以下SQL进行数据库的修复,修复数据库存在的一致性错误与分配错误. use master declare @databasehttp://www.aliyun.com/zixun/aggregation/11696.html">name varchar(255) set @data

MS SQL巡检系列——检查数据库上一次DBCC CHECKDB的时间

DBCC CHECKDB检查指定数据库中的所有对象的逻辑和物理完整性,具体请参考MSDN文档.我们必须定期对数据库做完整性检查(DBCC CHECKDB),以便能及时发现一些数据库损坏(Corruption)的情况.如果你的数据库长时间没有做DBCC CHECKDB,这样是做是不合理,并且很危险的.那么我们怎么检查数据库上一次做DBCC CHECKDB的时间呢? 可以通过DBCC DBINFO来获取上一次做DBCC CHECKDB时间,DBCC DBINFO (db_name) 显示数据库的结构

DBCC CHECKDB 遭遇Operating system error 112(failed to retrieve text for this error. Reason: 15105) encountered

我们一个SQL Server服务器在执行YourSQLDBa的作业YourSQLDba_FullBackups_And_Maintenance时遇到了错误:   Exec YourSQLDba.Maint.ShowHistoryErrors @JobNo = 1227 <row> <ctx>yMaint.IntegrityTesting</ctx> <Sql>DBCC checkDb('xxxx') </Sql> <err>In ca

如何修复数据库状态

数据|数据库 HOW TO FIX SQLSERVER DATABASE SUSPECT?如何修复数据库状态"置疑"? ********************************************************** Author:黄山光明顶 mail:leimin@jxfw.com version:1.0.0 date:2004-1-30 (如需转载,请注明出处!,如果有问题请发MAIL给我:-)) ********************************

mysql 修复数据库实例

mysql教程 修复数据库教程实例 Alter DATABASE [dvbbs] SET SINGLE_USER GO DBCC CHECKDB('dvbbs',repair_allow_data_loss) WITH TABLOCK GO Alter DATABASE [dvbbs] SET MULTI_USER GO   使用php教程myadmin修复的过程中造成了原有数据全部丢失.在把备份恢复后,使用了myisamchk来进行修复.最后数据库修复成功 www# myisamchk -r

mssql 压缩数据库 检查备份集 修复数据库 sql语句

mssql 压缩数据库教程 检查备份集 修复数据库 sql语句 本教程提供了关于mssql server 压缩数据库 检查备份集 修复数据库的sql语句,并且实例说明的操作方法. 3.压缩数据库 dbcc shrinkdatabase(dbname) 4.转移数据库给新用户以已存在用户权限 exec sp_change_users_login 'update_one','newname','oldname' go 5.检查备份集 restore verifyonly from disk='e:d

SQL Server误区:使用BACKUP ... WITH CHECKSUM可以替代DBCC CheckDB

误区 #27:使用BACKUP ... WITH CHECKSUM可以替代DBCC CheckDB 错误 乍一看,由于BACKUP WITH CHECKSUM会检测所有分配出去的页的校验和的值,这个误区貌似是这么回事,但实际上并不是这么回事,原因如下: 由SQL Server 2000或是更早版本升上来的数据库page checksums必须开启,在开启后,并不是数据库中所有的页都会被叫上页校验和,当页损坏发生时,IO系统可不会区分损坏的页是有页校验和还是没有校验和的.所以使用BACKUP ..

轻松接触DBCC CHECKDB的一些建议

在 Microsoft SQL Server 2000 中,可以在用户使用数据库时运行 DBCC CHECKDB,因为 DBCC CHECKDB 在检查每个数据库表时在表上控制的锁的类型均更改. 在 SQL Server 7.0 和早期版本中,DBCC CHECKDB(依次在数据库的每个表上运行 DBCC CHECKTABLE 和 CHECKALLOC)常常在表上控制共享锁 (S),因而阻塞了所有的数据修改语言 (DML) 语句. 在 SQL Server 2000 中,当检查表时 DBCC C

DBCC CheckDB遇到a database snapshot could not be created

在备份一个客户的数据库时(数据库版本为SQL 2005 Express版本),做DBCC CHECKDB时遇到了下面错误信息:   dbcc checkdb('DB_NAME'); 消息 5030,级别 16,状态 12,第 1 行 The database could not be exclusively locked to perform the operation. 消息 7926,级别 16,状态 1,第 1 行 Check statement aborted. The database