≡
  • 网络编程
  • 数据库
  • CMS技巧
  • 软件编程
  • PHP笔记
  • JavaScript
  • MySQL
位置:首页 > 数据库 > SQL Server

SQLSERVER数据库中的5173错误解决方法

人气:1008 时间:2020-04-16

这篇文章主要为大家详细介绍了SQLSERVER数据库中的5173错误解决方法,具有一定的参考价值,可以用来参考一下。

感兴趣的小伙伴,下面一起跟随四海网的小编两巴掌来看看吧!

昨天同事给你我一个有问题的数据库,叫我修复一下因为客户那边需要这个数据库,这个数据库只有一个mdf文件和一个ldf文件,

当我附加数据库的时候报错,数据库是SQL2005

附上有损坏的数据库文件:【图片暂缺】

因为之前在论坛也遇到过,所以按照论坛的方法来解决,结果还是不行

把ldf文件移到别的地方,然后附加的时候使用下面SQL语句重建事务日志文件

我的数据库文件放在C:\Users\Administrator\Desktop\新建文件夹目录下

代码如下:


USE [master] 
GO 
CREATE DATABASE [AdventureWorks2012] ON 
( FILENAME = N'C:\Users\Administrator\Desktop\新建文件夹\GPOSDB.mdf' ) 
FOR ATTACH_REBUILD_LOG 
GO

报错内容:

代码如下:


1 文件激活失败。物理文件名称'D:\MSSSQL\Data\GPOSDB_log.LDF'可能不正确。 
2 由于数据库没有完全关闭,无法重新生成日志。 
3 消息 1813,级别 16,状态 2,第 1 行 
4 无法打开新数据库 'GPOSDB'。CREATE DATABASE 中止。

 


我现在按照这篇文章再试一下

http://www.blogjava.net/kent/articles/200991.html

先新建一个GPOSDB的空库,然后停掉SQL服务

【图片暂缺】

将刚才生成的数据库的日志文件GPOSDB_log.ldf删除

用要恢复的GPOSDB.mdf文件覆盖刚才生成的数据库数据文件GPOSDB.mdf

然后把有问题的GPOSDB.mdf文件放在D盘,因为我新建的GPOSDB数据库放在D盘

启动SQL服务

文章说会显示数据库置疑,但是我的没有显示置疑

【图片暂缺】

设置数据库允许直接操作系统表

在SSMS里输入下面SQL语句

代码如下:


USE master 
go 
sp_configure 'allow updates', 1 
go 
RECONFIGURE WITH OVERRIDE 
go

设置GPOSDB为紧急修复模式

代码如下:


ALTER DATABASE [GPOSDB] SET EMERGENCY 
GO 
ALTER DATABASE GPOSDB SET SINGLE_USER 
GO 

UPDATE sysdatabases 
SET status = -32768 
WHERE dbid = DB_ID('GPOSDB') 
GO

但是报错

代码如下:


1 消息 259,级别 16,状态 1,第 1 行 
2 不允许对系统目录进行即席更新。

尝试重建日志,但是语法错误,估计那篇文章是SQL2000的

代码如下:


1 DBCC rebuild_log('GPOSDB','D:\GPOSDB_log.ldf') 
2 GO
1 消息 2526,级别 16,状态 3,第 1 行 
2 DBCC 语句错误。请查阅文档以了解正确的 DBCC 语法和选项。

一查果然是

 

--* DBCC REBUILDLOG
--重建SQL Server 2000事务日志文件

其实一开始在步骤“设置数据库允许直接操作系统表” 就怀疑是不是SQL2000的,因为SQL2005或以后已经不能修改系统表了

最后把事务日志文件也放到D盘,然后使用下面的SQL语句来修复还是不行

代码如下:


ALTER DATABASE [GPOSDB] SET EMERGENCY 
GO 
ALTER DATABASE GPOSDB SET SINGLE_USER 
GO 

DBCC CheckDB (GPOSDB, REPAIR_ALLOW_DATA_LOSS) 
GO
 

代码如下:


消息 5173,级别 16,状态 1,第 2 行 
一个或多个文件与数据库的主文件不匹配。如果是尝试附加数据库,请使用正确的文件重试该操作。如果这是现有数据库,则文件可能已损坏,应该从备份进行还原。 
日志文件 'D:\GPOSDB_log.ldf' 与主文件不匹配。该文件可能来自另一数据库,或者可能以前重新生成了日志。 
消息 5123,级别 16,状态 1,第 2 行 
尝试打开或创建物理文件 'D:\MSSSQL\Data\GPOSDB_log.LDF' 时,CREATE FILE 遇到操作系统错误 3(系统找不到指定的路径。)。 
消息 5024,级别 16,状态 2,第 2 行 
在 sysfiles1 中找不到主日志文件所对应的条目。无法重建日志。 
消息 5028,级别 16,状态 2,第 2 行 
系统无法激活足够的数据库来重建日志。 
GPOSDB的 DBCC 结果。 
CHECKDB 在数据库 'GPOSDB' 中发现 0 个分配错误和 0 个一致性错误。 
消息 7909,级别 20,状态 1,第 2 行 
紧急模式修复失败。您必须从备份中还原。

 

 【图片暂缺】

本文来自:http://www.q1010.com/179/8547-0.html

注:关于SQLSERVER数据库中的5173错误解决方法的内容就先介绍到这里,更多相关文章的可以留意四海网的其他信息。

关键词:SQL SERVER

您可能感兴趣的文章

  • SqlServer系统数据库的作用深入了解
  • SQLSERVER如何查看索引缺失及DMV使用介绍
  • SqlServer数据库全角转换成半角
  • oracle,mysql,SqlServer三种数据库的分页查询的实例
  • SQLSERVER的排序问题结果不是想要的
  • SqlServer 扩展属性的介绍
  • 真正高效的SQLSERVER分页查询(多种方案)
  • sqlserver (parse name)字符串截取的方法
  • sqlserver数据库出现置疑的解决思路
  • SqlServer获取存储过程返回值的实例
上一篇:sql server创建复合主键的2种方法
下一篇:简化SQL Server备份与还原到云工作原理及操作方法
热门文章
  • SQL Server SQL获取第一条记录的方法
  • SQL Server出现System.OutOfMemoryException异常的解决方法
  • SQL Server的 update from 语句的简单示例
  • SQL Server 数据库备份方法菜鸟教程
  • SQL Server 多表关联时在where语句中慎用trim()方法
  • SQL Server数据类型及长度限制详细说明
  • mybaits非配置原因,导致SqlSession was not registered for synchronization异常解析
  • SQL Server 收缩后对数据库的使用有影响吗?
  • SQL Server 格式导致的Excel导入sql出现异常的解决方法
  • SQL Server 连接服务器出现错误 7391的解决方法
  • 最新文章
    • SQL Server存储过程基本语法的简单示例
    • sql查询时增加自动编号和分页的简单示例
    • sql轻松应付百万数据的高效数据分页存储过程的简单示例
    • sql获取一条数据中所有字段的名称和值的实现方法
    • sql分割函数的简单示例
    • SQL Server异常捕获的简单示例
    • SQL SERVER回滚恢复误操作数据的实现方法
    • SQL Server函数或存储过程中抛出异常的实现方法
    • SQL Server创建数据库的完整代码
    • SQL Server创建数据库的命令用法示例

四海网收集整理一些常用的php代码,JS代码,数据库mysql等技术文章。