欢迎来到蓝梦软件下载中心!
免责声明:本站软件仅用于恢复和销毁存储介质数据,如果涉及个人隐私等问题,请使用者自行承担,使用软件默认同意本声明!
Q Q:1731278955
传真:0510-82737376
手机:13400027332
E-mail:1731278955@qq.com

技术文章
您所在的位置:首页 > 技术文章 >

SQL SERVER常见的修复命令



作者: 来源: 日期:2018/1/5 14:54:50 人气:56 

DBCC CHECKDB使用:
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 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)
exec sp_dboption @dbname,’single user’,'false'

DBCC DBREINDEX使用: --重建指定数据库中表的一个或多个索引
DBCC DBREINDEX('需要重建的表名称', '', 70)  --70重建表上的所有索引  80重建表上的聚集索引

SQL日志文件LDF丢失生成方法:
1.我们使用默认方式建立一个同名的数据库。
2.停掉数据库服务器。
3.将刚才新生成的数据库的日志文件删除,用要恢复的数据库mdf文件覆盖刚才生成的数据库数据文件。
4.启动数据库服务器。此时会看到数据库的状态为“置疑”。这时候不能对此数据库进行任何操作。

use master
go
sp_configure 'allow updates',1
go
reconfigure with override
go
update sysdatabases set status=-32768 where dbid=DB_ID('数据库名称')
go
dbcc rebuild_log('数据库名称','日志存放路径\数据库名称_log.ldf')
go
dbcc checkdb('数据库名称')
go
sp_dboption '数据库名称','dbo use only','false'
go
sp_configure 'allow updates',0
go
reconfigure with override
go