sql server 数据库异常 现象 ----2018/12/28

我们两清 提交于 2020-04-29 04:16:36

前天 第三方公司安装sqlserver数据库 把默认数据库 路径改了,造成默认数据库无法启动,阿里云服务器进行了回滚切片的操作。 昨天 同事把sqlserver数据库复制出来然后进行了 阿里云服务器 重新的分区,之后进行了数据库 数据重新导入结果遇到异常。

1,异常提示 无法开启 sqlserver服务

经过查询之后在服务中---点击属性---设置登录账号 ,修改为 本地账号登录后,就可启动数据库服务,猜测原因是由于重新设置了默认windows登录账号后造成的异常

2,数据库 启动后 有数据库 提示 (可疑)

数据库提示 可疑,根据网上的提示进行处理后 修复

https://www.cnblogs.com/hai-ping/articles/3573095.html

1、修改数据库为紧急模式

ALTER DATABASE jd13dafa SET EMERGENCY

2、使数据库变为单用户模式

ALTER DATABASE jd13dafa SET SINGLE_USER

 3、修复数据库日志重新生成,此命令检查的分配,结构,逻辑完整性和所有数据库中的对象错误。当您指定“REPAIR_ALLOW_DATA_LOSS”作为DBCC CHECKDB命令参数,该程序将检查和修复报告的错误。但是,这些修复可能会导致一些数据丢失。

DBCC CheckDB (jd13dafa , REPAIR_ALLOW_DATA_LOSS)

4、使数据库变回为多用户模式

ALTER DATABASE jd13dafa SET MULTI_USER

5、开始->运行->输入cmd->打开DOS命令窗口,输入以下命令重启数据库服务(此处可以直接到服务列表里,重新启动数据库服务,为了方便我直接用DOS命令了)

 

PS:现场 出现问题,在转换为 单用户操作模式后,一直提示 "此数据库处于单用户模式,当前某个用户已与其连接",怀疑是 由于 有系统一直在 连接访问数据库,所以在根据此博客操作前 ,又搜了另一个博客

https://www.cnblogs.com/zqh-/p/7412663.html

USE [master]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
  --建一个存储过程,断开所有用户连接。  
  create   proc   [dbo].[killspid]   (@dbname   varchar(20))  
  as  
  begin  
  declare   @sql   nvarchar(500)  
  declare   @spid   int  
  set   @sql='declare   getspid   cursor   for    
  select   spid   from   sysprocesses   where   dbid=db_id('''+@dbname+''')'  
  exec   (@sql)  
  open   getspid  
  fetch   next   from   getspid   into   @spid  
  while   @@fetch_status<>-1  
  begin  
  exec('kill   '+@spid)  
  fetch   next   from   getspid   into   @spid  
  end  
  close   getspid  
  deallocate   getspid  
  end  
GO

创建存储过程

use   master   
exec   killspid   '出问题的数据库名'
之后再每次 执行语句会提示 “此数据库处于单用户模式,当前某个用户已与其连接”的地方 前加这些操作语句有进行关闭占用线程

3,备份库无法进行 修复 "无法使用闩锁类型 SH 读取并闩锁页数据恢复"
猜测可能由于同事进行备份的时候 提示异常,并且没有关闭其他服务造成
之后删除了老的数据库,然后重建一个同名数据库后 进行备份还原操作,然后 再根据2中的顺序进行sqlserver修复 可疑库操作,最后执行完成。提示600+数据异常,但是至少可以将数据库运行起来...

------------------------------------至此问题先告一段落,后续问题后续更新----------------------------------------------------------

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!