SQL Server 2008 数据库可疑
今天遇到数据库可疑,以前都是直接删了还原,这次没有最新的备份文件,一起看看脚本怎么解决
1 --最好一句句执行,方便看到错误 2 USE MASTER 3 GO 4 --开启数据库选项"允许更新" 5 SP_CONFIGURE 'ALLOW UPDATES',1 RECONFIGURE WITH OVERRIDE 6 GO 7 --将数据库状态改为"紧急" 8 ALTER DATABASE CEM2015 SET EMERGENCY 9 GO 10 USE CEM2015 11 GO 12 --将数据库设置为单用户模式,不能在 master 或 tempdb 数据库上使用 sp_dboption; 保证仅一个用户连接数据库在 13 sp_dboption 'CEM2015', 'single user', 'true' 14 GO 15 --修复数据库存在的一致性错误与分配错误 16 DBCC CHECKDB('CEM2015','REPAIR_ALLOW_DATA_LOSS') 17 GO 18 --将数据库状态改为"在线" 19 ALTER DATABASE CEM2015 SET ONLINE 20 GO 21 --关闭数据库选项"允许更新" 22 sp_configure 'allow updates', 0 reconfigure with override 23 GO 24 --将数据库设置为多用户模式 25 sp_dboption 'CEM2015', 'single user', 'false' 26 GO 27 28 29 --以上是数据库可以修复脚本,下面附查询辅助脚本 30 --查询指定数据库连接信息 31 SELECT * FROM [Master].[dbo].[SYSPROCESSES] WHERE [DBID] IN (SELECT [DBID]FROM [Master].[dbo].[SYSDATABASES] WHERE NAME='CEM2015') 32 --查询数据库状态 33 SELECT state_desc FROM sys.databases WHERE NAME='CEM2015' 34 --将数据库设置为单用户模式 35 USE master; 36 GO 37 ALTER DATABASE CEM2015 38 SET SINGLE_USER 39 WITH ROLLBACK IMMEDIATE; 40 GO 41 --将数据库设置为多用户模式 42 ALTER DATABASE CEM2015 43 SET MULTI_USER; 44 GO
官方数据库状态定义
https://msdn.microsoft.com/zh-cn/library/ms190442(v=sql.100).aspx
网上说的另一种方法:
1:重新建立一个,一样的数据库,路径名称,文件都一样。
2:关掉SQL Server服务;
3:把源文件COPY过来;
4:开启SQL Server服务,这样问题同样就解决了。
这种方法不好使,可能和环境或者版本有关系,我这试了是没效果的,重新copy之后启动,数据库前面的加号点开报错(数据库一致性之类的错),也就是数据库还是不能用。
看这逻辑好像只是换了个马甲,实际问题并没修复,不知原理,有知道的网友麻烦科普一下.
分类:
SQL Server
标签:
数据库可疑
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律