MS SQLServer 2008数据库处于SUSPECT情况下的处理

做任何恢复操作之前,请先备份.mdf, .ndf和.ldf文件。

use master

go

--将处于suspect状态下的数据库设置为紧急状态

alter database <DatabaseName> set emergency

go

--设置该数据库为单用户立即回滚模式

alter database <DatabaseName> set single_user with rollback immediate

go

use <DatabaseName>

go

-重建日志文件,注意要先删除旧的ldf文件,日志文件要给出完整路径

alter database <DatabaseName> Rebuild Log on (name=<DatabaseName>,filename=‘z:\xxx\yyy\<DatabaseName>_log.ldf‘)

go

--进行数据库检查,可执行多次

dbcc checkdb(‘<DatabaseName>‘, repair_allow_data_loss)

go

--设置为多用户模式

alter database <DatabaseName> set multi_user

go

时间: 2024-10-07 13:36:28

MS SQLServer 2008数据库处于SUSPECT情况下的处理的相关文章

数据库高并发情况下重复值写入的避免 字段组合约束+ SQL SERVER 的SQL语句优化方式小结(转)

10线程同时操作,频繁出现插入同样数据的问题.虽然在插入数据的时候使用了: insert inti tablename(fields....) select @t1,@t2,@t3 from tablename where not exists (select id from tablename where [email protected],[email protected],[email protected]) 当时还是在高并发的情况下无效.此语句也包含在存储过程中.(之前也尝试线判断有无记

数据库在什么情况下适合添加索引

1.   表的某个字段值得离散度越高,该字段越适合选作索引的关键字.主键字段以及唯一性约束字段适合选作索引的关键字,原因就是这些字段的值非常离散.尤其是在主键字段创建索引时, cardinality (基数,集的势)的值就等于该表的行数. MySQL 在处理主键约束以及唯一性约束时,考虑周全.数据库用户创建主键约束的同时, MySQL 自动创建主索引( primary index ),且索引名称为 Primary:数据库用户创建唯一性索引时, MySQL 自动创建唯一性索引( unique in

MS Sqlserver 备份数据库SQL

通过作业的方式调用SQL执行自动备份,可以解决忘记备份数据库的问题,记录一下 declare @FileFullName varchar(40); declare @FileName varchar(20); declare @ExecSql varchar(100); --declare @Filesuffix varchar(10); -- @Filesuffix = '.bak'; --set @FileName = convert(varchar(10),GETDATE(),112)+'

SQLServer 2008数据库查看死锁、堵塞的SQL语句

死锁和堵塞一直是性能测试执行中关注的重点. 下面是我整理的监控sql server数据库,在性能测试过程中是否出现死锁.堵塞的SQL语句,还算比较准备,留下来备用. --每秒死锁数量 SELECT  * FROM    sys.dm_os_performance_counters  WHERE   counter_name LIKE 'Number of Deadlocksc%'; --查询当前阻塞 WITH CTE_SID ( BSID, SID, sql_handle ) AS ( SELE

ms sqlserver 清除数据库日志脚本

USE [master] GO ALTER DATABASE F360DW SET RECOVERY SIMPLE WITH NO_WAIT GO ALTER DATABASE F360DW SET RECOVERY SIMPLE --简单模式 GO USE F360DW GO DBCC SHRINKFILE (N'F360DW_log' , 11, TRUNCATEONLY) /* --这里的DNName_Log 如果不知道在sys.database_files里是什么名字的话,可以用以下注释

在数据库并发情况下避免插入重复数据的一个解决方法

目前公司的项目中碰到一个情况:需要向一个数据表table1中插入记录,该表的结构类似于下面的定义: 列名  类型 是否允许为空 Id int no Area string no AreaIndex int no Name string no 其中Name的值由Area和AreaIndex拼接而成,形式类似于“Area+AreaIndex”.对于相同的Area,AreaIndex从1开始计数,所以对于Area分别为“AA”,“BB”,“CC”的情况,Name的值类似下面这样: AA001 AA00

sql server 2008 数据库管理系统使用SQL语句创建登录用户详细步骤

--服务器角色:--固定服务器角色具有一组固定的权限,并且适用于整个服务器范围. 它们专门用于管理 SQL Server,且不能更改分配给它们的权限. --可以在数据库中不存在用户帐户的情况下向固定服务器角色分配登录.--按照从最低级别的角色(bulkadmin)到最高级别的角色(sysadmin)的顺序进行描述:--1.Bulkadmin:这个服务器角色的成员可以运行BULKINSERT语句.这条语句允许从文本文件中将数据导入到SQLServer 2008数据库中,-- 为需要执行大容量插入到

MS SQL Server数据库修复/MDF数据文件数据恢复/MDF质疑/mdf无法附加

微软的SQL Server 数据库最常用的有两种类型的文件: 1.主要数据文件,文件后缀一般是.MDF: 2.事务日志文件,文件后缀一般是.LDF. 用户数据表.视图.存储过程等等数据,都是存放在MDF文件里,LDF文件是存放MS SQL Server操作过程中的日志记录. MDF文件必读附加到MS SQL Server数据库环境后,才能正常读取其中的数据.当由于某种原因数据库附加不上,MDF数据库文件的内容就没办法读取,修复的方法有两种: 1. 使用MS SQL Server环境进行修复,先以

SQL SERVER 2008数据库MDF文件0字节数据恢复

SQL SERVER 2008数据库文件碎片恢复软件, 不管是MDF文件自然损坏后变0字节,还是经过删除后使用数据恢复软件找到后变成0字节均有良好的效果! 案例分析: 山东某政府机构的OA管理系统使用了SQLSERVER 2008数据库,有一天数据库置疑并无法拷贝,技术人员使用了CHKDSK/F 命令尝试修复,修复结束后17GB的MDF文件变成了0字节,经过百度搜索,联系到我们.本来使用自主开发的软件可以远程恢复,但由于用户是涉密单位,不能连外网,后来我们的工程师亲自上门去现场恢复,最终结果修复