数据库显示备份服务器失败,附加数据库 对于 服务器失败,完整备份还原数据库,或者修复该数据库...

这篇博客详细记录了在SQL Server 2008中遇到的数据库附加失败的问题,由于日志文件损坏导致无法正常附加数据库。文中提供了恢复数据库的步骤,包括停止数据库服务,复制数据文件,使用SQL命令将数据库置为单用户模式,并执行DBCC CHECKDB进行修复,最后将数据库设回多用户模式。这是一个针对数据库故障排查和恢复的解决方案。
摘要由CSDN通过智能技术生成

==================================

附加数据库 对于 服务器“WIN-SBREROT100V\ZGFNBCTL”失败。 (Microsoft.SqlServer.Smo)

------------------------------

有关帮助信息,请单击: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=11.0.2100.60+((SQL11_RTM).120210-1917+)&EvtSrc=Microsoft.SqlServer.Management.Smo.ExceptionTemplates.FailedOperationExceptionText&EvtID=附加数据库+Server&LinkId=20476

------------------------------

程序位置:

在 Microsoft.SqlServer.Management.Smo.Server.AttachDatabase(String name, StringCollection files)

在 Microsoft.SqlServer.Management.SqlManagerUI.AttachDatabaseData.PrimaryFile.Attach()

在 Microsoft.SqlServer.Management.SqlManagerUI.AttachDatabase.SendDataToServer()

===================================

执行 Transact-SQL 语句或批处理时发生了异常。 (Microsoft.SqlServer.ConnectionInfo)

------------------------------

程序位置:

在 Microsoft.SqlServer.Management.Common.ServerConnection.ExecuteNonQuery(String sqlCommand, ExecutionTypes executionType)

在 Microsoft.SqlServer.Management.Common.ServerConnection.ExecuteNonQuery(StringCollection sqlCommands, ExecutionTypes executionType)

在 Microsoft.SqlServer.Management.Smo.ExecutionManager.ExecuteNonQuery(StringCollection queries)

在 Microsoft.SqlServer.Management.Smo.Server.AttachDatabaseWorker(String name, StringCollection files, String owner, AttachOptions attachOptions)

在 Microsoft.SqlServer.Management.Smo.Server.AttachDatabase(String name, StringCollection files)

===================================

无法在数据库“womandata2019”(数据库 ID 为 7)的分配单元 290228981596160,页 (1:155635) 上重做事务 ID (0:19020530) 的日志记录 (24509:436:2)。页: LSN = (24475:203:2),分配单元 = 290228981596160,类型 = 1。日志: OpCode = 4,上下文 2,PrevPageLSN: (24509:362:2)。请从数据库备份还原该数据库,或者修复它。

在重做数据库 'womandata2019' 的日志中记录的操作时,日志记录 ID (24509:436:2) 出错。通常,特定故障以前会在 Windows 事件日志服务中记录为错误。请利用完整备份还原数据库,或者修复该数据库。

无法打开新数据库 'womandata2019'。CREATE DATABASE 中止。 (.Net SqlClient Data Provider)

------------------------------

有关帮助信息,请单击: http://go.microsoft.com/fwlink?ProdName=Microsoft%20SQL%20Server&EvtSrc=MSSQLServer&EvtID=3456&LinkId=20476

------------------------------

服务器名称: .\ZGFNBCTL

错误号: 3456

严重性: 21

状态: 1

行号: 1

------------------------------

程序位置:

在 Microsoft.SqlServer.Management.Common.ConnectionManager.ExecuteTSql(ExecuteTSqlAction action, Object execObject, DataSet fillDataSet, Boolean catchException)

在 Microsoft.SqlServer.Management.Common.ServerConnection.ExecuteNonQuery(String sqlCommand, ExecutionTypes executionType)

附加数据库失败,sql2008,断电数据库日志受损

附加数据库失败,提示:

无法在数据库 'DBNAME' (数据库 ID 为 7)的页 (1:210288) 上重做事务 ID (0:0) 的日志记录

或者

在重做数据库 'DBNAME' 的日志中记录的操作时,日志记录 ID (1752535:20699:5) 出错

或者

找不到日志文件

或者

日志文件不匹配

首先:停止数据库服务,把有问题的数据库拷贝一份

第一步:先建立一个同名数据库,数据库文件和日志的名称设置成跟原数据库文件一致

停止SQL SERVER2008,将原来的.mdf数据库文件覆盖刚新建的.mdf数据库文件,重新启动数据库

第二步:查询分析器执行,

SQL code

alter database womandata set emergency

declare @databasename varchar(255)

set @databasename='womandata2019'

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'

第三步:以上代码请同时运行,可能会出现“数据库其他多个文件与数据库主文件不匹配....”错误,请多次重试执行以上代码

断电 数据库状态 变为可疑,停掉数据服务后,复制一份数据。然后启动服务,直接在查询分析器执行以上代码,一般能够恢复正常

2019.8.6查询数据库恢复挂机,解决办法,执行下面代码

下面代码的test改为你的库名

USE master

GO

ALTER DATABASE womandata2019 SET SINGLE_USER

GO

ALTER DATABASE womandata2019 SET EMERGENCY

GO

DBCC CHECKDB(womandata2019,REPAIR_ALLOW_DATA_LOSS)

GO

ALTER DATABASE womandata2019 SET ONLINE

GO

ALTER DATABASE womandata2019 SET MULTI_USER

GO

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值