常用的MS SQL Server数据修复命令

MS Sql Server 提供了很多数据库修复的命令,当数据库质疑或是有的无法完成读取时可以尝试这些修复命令。

1. DBCC CHECKDB

重启服务器后,在没有进行任何操作的情况下,在SQL查询分析器中执行以下SQL进行数据库的修复,修复数据库存在的一致性错误与分配错误。

use master

declare @databasename varchar(255)

set @databasename='需要修复的数据库实体的名称'

exec sp_dboption @databasename, N'single', N'true' --将目标数据库置为单用户状态

dbcc checkdb(@databasename,REPAIR_ALLOW_DATA_LOSS)

dbcc checkdb(@databasename,REPAIR_REBUILD)

exec sp_dboption @databasename, N'single', N'false'--将目标数据库置为多用户状态

然后执行 DBCC CHECKDB('需要修复的数据库实体的名称') 检查数据库是否仍旧存在错误。注意:修复后可能会造成部分数据的丢失。

2. DBCC CHECKTABLE

如果DBCC CHECKDB 检查仍旧存在错误,可以使用DBCC CHECKTABLE来修复。

use 需要修复的数据库实体的名称

declare @dbname varchar(255)

set @dbname='需要修复的数据库实体的名称'

exec sp_dboption @dbname,'single user','true'

dbcc checktable('需要修复的数据表的名称',REPAIR_ALLOW_DATA_LOSS)

dbcc checktable('需要修复的数据表的名称',REPAIR_REBUILD)

------把’ 需要修复的数据表的名称’更改为执行DBCC CHECKDB时报错的数据表的名称

exec sp_dboption @dbname,'single user','false'

3. 其他的一些常用的修复命令

DBCC DBREINDEX 重建指定数据库中表的一个或多个索引

用法:DBCC DBREINDEX (表名,’’) 修复此表所有的索引。

还有其他很多修复命令,诸如DBCC CHECKIDENT 等等,用到的概率比较小,大家可以在ms sql server 的 联机丛书中检索一下。

时间: 2024-10-03 14:52:04

常用的MS SQL Server数据修复命令的相关文章

从access到MS SQL SERVER数据导入?

access|server|数据   一般有两种方法:   一是使用ms sql server 的DTO进行导入操作,一步一步按提示操作就行了.但这个过程中可能有的字段属性会改变,主键也没了.通常这种方法要sql建表语句配合使用. 另外一种方法是采用access提供的数据库升迁向导,前面的几个bug都没有了,目前还没有发现什么隐含的bug.这个升级方法应该是首选了.  

Web环境下MS SQL Server中数据的磁带备份与恢复

server|web|备份|恢复|数据 摘 要:介绍了磁带数据备份及恢复的工作过程,包括在硬盘上建立了一个与磁带的容量相当的数据库,即桥数据库和在Web信息系统中要实现完整的磁带数据备份及恢复功能.从理论与实践上阐述了如何利用SQL中现有的数据库备份和恢复的命令以及NT中的IDC技术. 关键词:Web信息系统:磁带数据备份:桥数据库:IDC文件:数据恢复 1 引言 实现磁带备份数据的功能有两方面的困难:首先,MS SQL Server(以下简称SQL)所提供的数据库的整体备份及恢复功能不能直接满

使用SqlBulkCopy导入数据至MS SQL Server

原文:使用SqlBulkCopy导入数据至MS SQL Server Insus.NET一直使用表类型来数据入MS SQL Server.参考<存储过程参数为DataTable>http://www.cnblogs.com/insus/archive/2012/09/22/2698515.html .今天学习一个SqlBulkCopy来把数据导入MS SQL Server中去.就是这个<读取XML某一节点>http://www.cnblogs.com/insus/p/3778256

探讨如何在有着1000万条数据的MS SQL SERVER数据库中实现快速的数据提取和数据分页

探讨如何在有着1000万条数据的MS SQL SERVER数据库中实现快速的数据提取和数据分页.以下代码说明了我们实例中数据库的一表的部分数据结构: CREATE TABLE [dbo].[TGongwen] (    --TGongwen是红头文件表名    [Gid] [int] IDENTITY (1, 1) NOT NULL ,--本表的id号,也是主键    [title] [varchar] (80) COLLATE Chinese_PRC_CI_AS NULL ,  --红头文件的

MS SQL Server 2000数据转换服务部署

server|数据|转换 1. 目标 MS SQL Server做大数据量传输的时候,我们大多会用到数据传输服务.现在假设,在开发环境下,我们已经设计好了DTS包并且运行良好,接下来我们要做的事情是迁移和部署这个DTS数据包.所以,我们需要把设计环境下的DTS包保存成结构化的存储文件,并且这个文件导入到目标环境下的MS SQL Server中,最后添加作业,让MS SQL Server Angent在我们预期的事情执行这个DTS包完成数据传输工作.其中需要重点解决的一个问题是,在目标环境中,DT

MS SQL SERVER 图像或大文本的输入输出

server 在MS SQL SERVER 安装目录下有个可执行文件叫 TEXTCOPY.EXE 可对 MS SQL SERVER 中的文本或图像数据进行输入输出. 不过你可以在MS-DOS方式下执行textcopy /? 得到它的描述. 下面是这个工具的描述: Copies a single text or image value into or out of SQL Server. The value is a specified text or image 'column' of a si

MS SQL Server数据库查询优化及分页算法

server|分页|数据|数据库|算法|优化 探讨如何在有着1000万条数据的MS SQL SERVER数据库中实现快速的数据提取和数据分页.以下代码说明了我们实例中数据库的"红头文件"一表的部分数据结构:CREATE TABLE [dbo].[TGongwen] (    --TGongwen是红头文件表名    [Gid] [int] IDENTITY (1, 1) NOT NULL ,--本表的id号,也是主键    [title] [varchar] (80) COLLATE

MS SQL Server入门教程

SQL Server 是一个关系数据库管理系统,它最初是由Microsoft,Sybase和Ashton-Tate三家公司共同开发的,于1988年推出了第一个OS/2版本.在Windows NT推出后,Microsoft与Sybase在SQL Server的开发上就分道扬镳了,Microsoft将SQL Server 移植到Windows NT. MS SQL基础教程:SQL Server 2000 简介 MS SQL基础教程:SQL Server 2000 的新特性 MS SQL基础教程:SQ

MS SQL Server MFC DAO 类和 MFC ODBC 类:我使用哪个类集?

odbc|server MS SQL Server MFC DAO 类和 MFC ODBC 类:我使用哪个类集?这篇文章详细讲述了 Microsoft Jet 如何使用 ODBC 检索服务器数据.对于所有用 DAO 编写重要服务器应用程序的人,这都不失为一篇必读文章."ODBC:Architecture,Performance,and Tuning",作者:Lambert.Colleen. 本白皮书提供对 ODBC 工作方式的良好概述,并以现实.有用的方式讲述了性能问题. 结论 MFC