附加数据库缺失日志
sql server日志文件丢失的恢复方法
![sql server日志文件丢失的恢复方法](https://img.taocdn.com/s3/m/9a555487ba4cf7ec4afe04a1b0717fd5360cb2fb.png)
sql server日志文件丢失的恢复方法SQL Server是一种关系型数据库管理系统,它提供了持久化存储数据的功能。
在使用SQL Server时,我们通常会遇到一些问题,例如日志文件丢失。
当日志文件丢失时,我们需要采取一些措施来恢复数据。
本文将一步一步地回答关于SQL Server日志文件丢失的恢复方法。
第一步:检查日志文件丢失的原因在采取任何措施之前,我们首先需要确定日志文件丢失的原因。
有几种可能的原因,例如磁盘损坏、人为删除、数据库服务中断等。
通过了解原因,我们可以更好地选择适当的恢复方法。
第二步:备份数据库在尝试恢复日志文件之前,我们应该确保已经备份了数据库。
这是非常重要的,因为如果在修复日志文件时出现问题,备份可以用来还原数据库至丢失日志文件之前的状态。
在进行任何恢复操作之前,请确保已经备份了数据库,以免造成不可逆的损失。
第三步:运行数据库完整性检查在恢复日志文件之前,我们应该运行数据库的完整性检查。
这可以帮助我们发现数据库中可能存在的一些问题,例如损坏的数据页、磁盘错误等。
通过运行完整性检查,我们可以修复这些问题,以确保数据库的稳定性。
第四步:使用备份日志恢复如果我们的数据库已经定期备份,并且丢失的日志文件在最近的备份中,我们可以使用备份日志来恢复数据库。
我们可以在SQL Server Management Studio中使用“恢复数据库”向导来完成此操作。
首先,我们选择要恢复的数据库,然后选择相应的备份文件和备份日志文件。
然后,我们可以选择恢复模式,例如完整恢复模式或简单恢复模式,并完成向导以恢复数据库。
第五步:使用事务日志恢复如果备份日志中没有包含所需的丢失日志文件,我们可以尝试使用事务日志来恢复数据库。
SQL Server将每个事务的详细信息记录在事务日志中,通过读取事务日志,我们可以逐个事务地恢复数据库。
首先,我们需要创建一个空数据库,并将其设置为恢复模式。
然后,我们可以使用恢复工具或编写T-SQL语句来读取事务日志,并逐个事务地执行以恢复数据库。
U8——数据库附件方法迁移用友U8 10.1
![U8——数据库附件方法迁移用友U8 10.1](https://img.taocdn.com/s3/m/c249d79d9b89680202d8254f.png)
数据库附加方法迁移用友U8 10.12015年8月1日23:44:32一、环境二、分离/附加概述SQL Server提供了“分离/附加”数据库、“备份/还原”数据库、复制数据库等多种数据库的备份和恢复方法。
这里介绍一种学习中常用的“分离/附加”方法,类似于大家熟悉的“文件拷贝”方法,即把数据库文件(.M DF)和对应的日志文件(.LDF)拷贝到其它磁盘上作备份,然后把这两个文件再拷贝到任何需要这个数据库的系统之中。
比如,在实验教学过程中,同学们常常想把自己在学校实验室计算机中创建的数据库搬迁到自己的计算机中而不想重新创建该数据库,就可以使用这种简单的方法。
但由于数据库管理系统的特殊性,需要利用SQL Server提供的工具才能完成以上工作,而直接的文件拷贝是行不通的。
这个方法涉及到SQL Server分离数据库和附加数据库这两个互逆操作工具。
1、分离数据库就是将某个数据库(如student_Mis)从SQL Server数据库列表中删除,使其不再被S QL Server管理和使用,但该数据库的文件(.MDF)和对应的日志文件(.LDF)完好无损。
分离成功后,我们就可以把该数据库文件(.MDF)和对应的日志文件(.LDF)拷贝到其它磁盘中作为备份保存。
2、附加数据库就是将一个备份磁盘中的数据库文件(.MDF)和对应的日志文件(.LDF)拷贝到需要的计算机,并将其添加到某个SQL Server数据库服务器中,由该服务器来管理和使用这个数据库。
三、附加数据库时丢失日志文件的风险1. SQL Server数据库启动的过程数据库启动时,大致可以分为以下3个过程:(1)分析:读取日志文件,从而分析数据文件中的检查点是否是最后一个检查点,并且分析哪些事务未提交从而需要回滚。
(2)前滚(Redo):数据文件的检查点之后的所有事务都重做一次,直到最后一笔事务。
(3)回滚(Undo):撤销所有未提交的事务。
2. 附加数据库时丢失日志文件的潜在风险由于预写事务日志(WAL)是一种缓存机制,数据文件也采用了缓存机制(检查点),那么丢失了日志文件可能有以下风险:(1)如果数据库关闭时未执行检查点(例如,shutdown with nowait),那么这些数据将不会回写到数据文件,即丢失了部分数据。
SqlServer中用SQL语句附加数据库及修改数据库逻辑文件名
![SqlServer中用SQL语句附加数据库及修改数据库逻辑文件名](https://img.taocdn.com/s3/m/c89607a1dc3383c4bb4cf7ec4afe04a1b171b055.png)
SqlServer中⽤SQL语句附加数据库及修改数据库逻辑⽂件名--查询数据库逻辑⽂件名USE 数据库名SELECT FILE_NAME(1)--查询数据库逻辑⽂件名(⽇志)USE 数据库名SELECT FILE_NAME(2)--附加数据库sp_attach_db '数据库名','数据库全路径','数据库⽇志全路径'GOUSE 数据库名--添加⼀个登录前指定默认数据库EXEC sp_addlogin '登录名','密码','数据库名'GO--处理空登录名(使登录⽤户和数据库的孤⽴⽤户对应起来,在这个⽤户有对象时⽤)sp_change_users_login 'update_one','登录名','登录名'GO--修改数据库的逻辑⽂件名(数据)Alter DATABASE 数据库名MODIFY FILE(NAME='⽼数据库逻辑⽂件名',NEWNAME='新数据库逻辑⽂件名')GO--修改数据库的逻辑⽂件名(⽇志)Alter DATABASE 数据库名MODIFY FILE(NAME='⽼⽇志逻辑⽂件名',NEWNAME='新⽇志逻辑⽂件名')GO可能会⽤到的操作:--更改当前数据库名称为dbo的登录名为abcEXEC sp_changedbowner 'abc'--删除⼀个登录EXEC sp_droplogin '登录名'--赋予这个登录访问数据库的权限EXEC sp_adduser '登录名','⽤户名','db_owner'。
SQL数据库日志检查、操作与查看等
![SQL数据库日志检查、操作与查看等](https://img.taocdn.com/s3/m/584b495577232f60ddcca122.png)
END
CLOSE Info_cursor
DEALLOCATE Info_cursor
GO
--itlearner注:显示数据库信息
sp_spaceused @updateusage = 'TRUE'
--itlearner注:显示表信息
select *
--*/
1.清空日志
DUMP TRANSACTION 库名 WITH NO_LOG
2.截断事务日志:
BACKUP LOG 数据库名 WITH NO_LOG
3.收缩数据库文件(如果不压缩,数据库的文件不会减小
企业管理器--右键你要压缩的数据库--所有任务--收缩数据库--收缩文件
显示行数、保留的磁盘空间以及当前数据库中的表所使用的磁盘空间,或显示由整个数据库保留和使用的磁盘空间。
语法
sp_spaceused [[@objname =] 'objname']
[,[@updateusage =] 'updateusage']
参数
[@objname =] 'objname'
INTO @tablename
WHILE @@FETCH_STATUS = 0
BEGIN
if exists (select * from dbo.sysobjects where id = object_id(@tablename) and OBJECTPROPERTY(id, N'IsUserTable') = 1)
SQL数据库日志文件已满,怎么删除
--压缩日志及数据库文件大小
sql server 只有.mdf文件如何附加
![sql server 只有.mdf文件如何附加](https://img.taocdn.com/s3/m/ec4e4b99da38376baf1fae81.png)
SQL SERVER 只有.MDF文件如何附加
1、新建一个同名数据库,停止sql服务,删除新建数据库.ldf文件
2、将要附加的数据库的.mdf文件覆盖刚新建的.mdf文件,并重启服务
这时数据库DATA目录下只有一个.mdf文件,启动sql server Management studio --新建查询
use master
go
alter database db_name set emergency
go
--置数据库为单用户模式
alter database db_name set single_user with rollback immediate
go
--重建数据库日志文件
alter database db_name Rebuild Log on (name=log_name,filename='C:\log_name.ldf') go
--最后设置数据库为多用户模式。
alter database dbname set multi_user
通过以上方法修复数据库后,可以dbcc checkdb一下数据库,如果发现页级错误,可以通过以下命令修复。
这两个命令要在单用户的情况下使用
Use master
go
sp_dboption 数据库名, single, true
dbcc checkdb(dbname,REPAIR_ALLOW_DATA_LOSS)
dbcc checkdb(dbname,REPAIR_REBUILD)
--最后再设置数据库为多用户模式。
数据库数据缺失的常见原因
![数据库数据缺失的常见原因](https://img.taocdn.com/s3/m/d65b685a53d380eb6294dd88d0d233d4b14e3f28.png)
数据库数据缺失的常见原因1.人为操作错误:人为错误是导致数据缺失的最常见原因之一、操作人员在数据库的插入、更新、删除数据等操作中,可能在操作过程中出现错误,导致数据的丢失。
例如,误操作删除了重要数据记录,或者在插入新数据时填写错误的数据字段,导致相关数据丢失。
2.数据库软件故障:数据库软件也可能出现各种故障,导致数据缺失。
例如,数据库服务器硬件故障或软件崩溃,可能导致数据没有正确保存或丢失。
此外,数据库软件的版本更新或升级也可能引入一些错误,导致数据丢失。
3.网络问题:在分布式数据库环境中,网络问题可能导致数据丢失。
如果数据库服务器之间的网络连接断开或延迟,可能导致数据在传输过程中丢失。
此外,如果网络存在安全漏洞,被攻击者入侵数据库服务器,也可能导致数据损坏或删除。
4.软件BUG:数据库软件中的BUG是导致数据库数据缺失的另一个常见原因。
软件开发人员可能会在数据库软件中引入一些错误的代码,导致数据在读写或更新过程中丢失。
这些错误可能是由于编程错误、测试不充分或者设计缺陷等问题引起的。
5.数据库备份与恢复失败:定期备份数据库是保护数据的重要措施,但如果备份和恢复过程不顺利,可能导致数据缺失。
例如,在备份过程中出现错误、备份文件损坏、恢复过程中出现冲突等问题,都可能导致数据没有成功备份或恢复。
6.数据库容量限制:数据库有可能出现容量限制,当达到容量上限时,数据库可能会自动删除一些旧数据以腾出空间。
如果没有进行合理的容量规划和管理,可能会导致重要数据被自动删除而出现数据缺失。
7.数据库迁移或转换过程中:数据库迁移或转换是将数据从一个数据库系统转移到另一个数据库系统的过程。
在这个过程中,数据可能会丢失或损坏。
例如,在数据转换过程中,数据类型的不匹配或字段映射错误,可能导致数据丢失。
8.数据格式转换错误:数据格式转换是将数据从一种格式转换成另一种格式的过程。
如果转换过程中出现错误,可能导致数据的丢失。
例如,在数据导入过程中,源数据与目标数据库的字段格式不匹配,可能导致数据丢失。
删除sqlserver数据库日志和没有日志的数据库恢复办法
![删除sqlserver数据库日志和没有日志的数据库恢复办法](https://img.taocdn.com/s3/m/5977fe5ef6ec4afe04a1b0717fd5360cba1a8d97.png)
删除sqlserver数据库⽇志和没有⽇志的数据库恢复办法⼀、删除数据库⽇志⽂件的⽅法你曾经有在执⾏SQL的时候,数据库报事务⽇志已满,然后执⾏报错。
然后纠结于怎么删除数据库⽇志,捣⿎半天吗,现在就提供两种删除⽇志⽂件的⽅法,希望能够帮到你!⽅法⼀:⼿⼯操作1.数据库->右键->属性->选项-恢复模式->由完成切换成简单2.数据库->右键->任务->收缩-⽂件->由完成切换成简单->⽂件类型->⽇志->将⽂件收缩到⽅法⼆:存储过程代替⼿⼯操作--⽇志⽂件收缩⾄多少MDECLARE @DBLogSise AS INTSET @DBLogSise=0--查询出数据库对应的⽇志⽂件名称DECLARE @strDBName AS NVARCHAR(500) DECLARE @strLogName AS NVARCHAR(500) DECLARE @strSQL AS VARCHAR(1000)SELECT@strLogName=, @strDBName= FROM master.sys.databases AS A INNER JOIN sys.master_files AS B ON A.database_id = B.database_id WHERE A.database_id=DB_ID() SET @strSQL='--设置数据库恢复模式为简单ALTER DATABASE ['+@strDBName+'] SET RECOVERY SIMPLE;--收缩⽇志⽂件DBCC SHRINKFILE ('''+@strLogName+''' , '+CONVERT(VARCHAR(20),@DBLogSise)+');--恢复数据库还原模式为完整ALTER DATABASE ['+@strDBName+'] SET RECOVERY FULL 'exec(@strSQL)1.在数据库中执⾏上⾯的存储过程2.然后再执⾏ EXEC p_p_delDBLog @DBLogSise = 0 (收缩⾄多少M)⼆、没有⽇志⽂件的数据库恢复⽅法今天客户那边执⾏SQL报错,经查看是客户服务器数据库磁盘已被全部⽤完,⽇志⽂件达到500GB的程度,后来由于我的错误操作导致⽇志⽂件(.ldf)被删除,后来附加.mdf⽂件⽼是说没有⽇志⽂件附加不成功,后来经过⼀番折腾终于解决了,下⾯分享⼀下!操作步骤1.新建同名的数据库⽂件2.暂停SQLSetver服务3.将原先的mdf⽂件,覆盖新建的数据库,删除新数据库的ldf⽂件4.重新启动SQLSetver服务,这时看到的数据库是这个样⼦的,打不开5.执⾏以下SQL语句--1.设置为紧急状态alter database 数据库名称 set emergency--2.设置为单⽤户模式alter database 数据库名称 set single_user--3.检查并重建⽇志⽂件dbcc checkdb('数据库名称',REPAIR_ALLOW_DATA_LOSS)--4.第3步操作如果有错误提⽰,运⾏第4步,没有错误则跳过dbcc checkdb('数据库名称',REPAIR_REBUILD)--5.恢复成多⽤户模式alter database 数据库名称 set multi_user6.⾄此会重新⽣成改库的⽇志⽂件,整个过程完成或者也可以采⽤⼿动附加(本⽅法参考@码道程⼯)到此这篇关于删除sqlserver数据库⽇志和没有⽇志的数据库恢复办法的⽂章就介绍到这了,更多相关删除sqlserver数据库⽇志和⽆⽇志的恢复办法内容请搜索以前的⽂章或继续浏览下⾯的相关⽂章希望⼤家以后多多⽀持!。
sql2000数据库如何附加数据库(即.MDF文件如何导入)
![sql2000数据库如何附加数据库(即.MDF文件如何导入)](https://img.taocdn.com/s3/m/c08a4a411eb91a37f1115cf0.png)
假设已存在这样的一个数据库,数据库文件名称是:SchoolIT_Data.MDF,日志文件名称是:SchoolIT_Log.LDF;其存盘的位置如下图!下面我们介绍将其附加到Sql Server中!首先打开你的Sql Server企业管理器,在左边的列表中执行类似下图的操作:“数据库”→“所有任务”→“附加数据库”;弹出如下图的对话框:上图中,我们点击“...”按钮,上图中已使用红色线条圈好的按钮,之后会弹出选择MDF文件对话框,根据第一图中的路径,找到存盘位置,之后选择这个文件:SchoolIT_Data.MDF,最后一路按“确定”按钮一直退出操作即可完成!数据库的安装:打开SQL企业管理器,依次点击Microsoft SQL Server,SQL Server组,(LOCAL)(Windows NT)。
右键点击“数据库”,选择“所有任务”中的“附加数据库”选项,会看见如下画面。
点击“附加数据库(A)”会跳出“附加数据库—(LOCAL)”窗口如下:点击“验证(V)”按钮左边的一按钮,会跳出如下“浏览现有的文件—(L OCAL)”提示窗口如下:选择源文件所在的虚拟目录,打开book文件夹中的database文件夹,选择Book_Data.MDF文件(这里以Book_Data.MDF文件为例子),点击“确定”。
点击“确定”后,跳出如下提示窗口,再次点击“确定”,会跳出“附加数据库顺利完成”窗口,点击确定,数据添加完成,如图:重装操作系统之后,原来的SQL Server2000在磁盘上的文件还存在(不是在C盘上),但是系统中找不到SQL Server2000此时只要重新安装SQL Server2000,再附加数据库即可。
具体操作如下:1.重新安装SQL Server20002.进入企业管理器,右击数据库-所有任务-附加数据库-选择与要恢复的数据库对应的.mdf 文件(在原来的数据库的data文件加中),确定即可如果点击安装SQL Server2000时没有反应,再次点击时,提示'一个实例正在运行',则可进入注册标编辑器,右击删除SQL Server2000,具体操作:1.开始-运行-regedit-打开了注册表编辑器2.HKEY-LOCAL-MACHINE-SOFTWARE-Microsoft-右击删除Microsoft SQL Server重启计算机,重新安装SQL Server即可。
数据库数据丢失与恢复方法分析
![数据库数据丢失与恢复方法分析](https://img.taocdn.com/s3/m/abb6374d53ea551810a6f524ccbff121dd36c5ba.png)
数据库数据丢失与恢复方法分析当数据库发生数据丢失时,无论是意外删除、硬件故障还是人为错误,都可能导致数据的损失。
对于企业和组织来说,数据库中的数据是非常重要和宝贵的资产,因此及时恢复丢失的数据是至关重要的。
本文将分析数据库数据丢失的原因以及常用的恢复方法。
一、数据库数据丢失的原因1. 意外删除:用户或管理员错误地删除了重要的数据。
2. 软件故障:数据库软件出现问题或崩溃,导致数据的丢失。
3. 硬件故障:硬盘故障、电源问题或服务器故障可能导致数据库数据的丢失。
4. 病毒攻击:恶意软件或病毒可能破坏数据库系统,导致数据丢失。
5. 自然灾害:火灾、洪水、地震等自然灾害可能导致数据库服务器损坏,从而造成数据丢失。
二、常用的数据库数据恢复方法1. 备份和恢复备份数据是最常用和有效的恢复方法之一。
定期备份数据库可以帮助恢复数据并减少损失。
可以使用物理备份或逻辑备份来实现对数据库的备份。
物理备份是直接备份数据库文件和记录,而逻辑备份是导出数据库中的数据到可读的格式,如SQL语句或CSV文件。
当数据丢失时,可以使用备份文件来恢复丢失的数据。
然而,备份文件的更新和保存也需要注意,并且需要测试备份文件是否可用。
2. 事务日志恢复许多数据库系统提供了事务日志功能,可以记录数据库中的操作和更改。
当数据库发生故障导致数据丢失时,可以利用事务日志来恢复数据库。
通过回放事务日志中记录的操作,在故障发生前的状态下重建数据库,并将记录应用到数据库中来恢复数据。
然而,使用事务日志恢复的过程可能比较复杂,需要详细了解数据库系统的日志恢复机制。
3. 数据库镜像数据库镜像是一种复制数据库到一个或多个镜像服务器的方法。
当主数据库发生故障时,可以使用镜像数据库来提供持续的数据访问。
镜像数据库可以作为备份和恢复的补充,提供了更高的可用性和容错能力。
然而,数据库镜像需要额外的硬件和配置成本,并且需要确保镜像数据库与主数据库的同步。
4. 第三方数据恢复工具有一些专门的数据恢复工具可以帮助恢复损坏或丢失的数据库。
sql server2000-9004处理数据库的日志时出错
![sql server2000-9004处理数据库的日志时出错](https://img.taocdn.com/s3/m/6bae585c77232f60ddcca1d0.png)
sql server附加数据库时出现错误提示:错误:9004 处理数据库的日志时出错先把原库文件备份一份,然后在其它机器上直接附加数据库,不要日志文件!试试!如果不行再按以下方法试试!在其他机器上,用这个试试: 1.设置数据库为紧急模式Use MasterGOsp_configure 'allow updates', 1reconfigure with overrideGOUPDATE sysdatabases SET status = 32768 where name = 'DB_SUSPECT' GO2.停掉SQL Server服务:NET STOP MSSQLSERVER3.把原始数据库的数据文件DBNAME_DA T.MDF,DBNAME_LOG.LDF移走:4.启动SQL Server服务:NET START MSSQLSERVER5.重新建立一个同名的数据库DB_SUSPECT;USE masterGOCREATE DATABASE DB_SUSPECTON( NAME = DBNAME_DA T,FILENAME = 'C:',SIZE = 10,FILEGROWTH = 5 )LOG ON( NAME = 'DBNAME_LOG',FILENAME = 'g:',SIZE = 5MB,FILEGROWTH = 5MB )GO6.设置数据库运行在单用户的模式:USE MASTERGOALTER DATABASE DB_SUSPECT SET SINGLE_USERGO7.停掉SQL服务:NET STOP MSSQLSERVER8.把原来的数据文件再覆盖回来:9.启动SQL Server服务:NET START MSSQLSERVER10.重新设置SQLSERVER的状态:USE MASTERGOEXEC sp_resetstatus "DB_SUSPECT"11.数据库完整性检测:DBCC CHECKDB('DB_SUSPECT')12.恢复数据库为多用户模式:USE MASTERGOALTER DATABASE DB_SUSPECT SET MULTI_USERGO13.恢复SQLSERVER原始的配置:USE MA TERGOUPDATE sysdatabases SET status = 4194320 where name = 'DB_SUSPECT' GO14.配置SQLSERVER不允许更新系统表:USE MASTERGOsp_configure 'allow updates', 0reconfigure with overrideGO15.重新启动MSSQLSERVER服务:最好重新启动操作系统16.备份数据库:可以通过SQLSERVER企业管理器或T-SQL.需要备份MASTER和DB_SUSPECT。
关于SQL数据库丢失.LDF文件后附加数据库的方法
![关于SQL数据库丢失.LDF文件后附加数据库的方法](https://img.taocdn.com/s3/m/8d639bd7195f312b3169a584.png)
关于SQL数据库丢失.LDF文件后附加数据库的方法相信很多朋友对SQL中的日志文件不慎删除后,附加MDF 文件,提示LDF文件有问题,导致MDF无法附加的情况,解决方法:1、把需要附加的数据库的MDF文件改名;2、建一个相同的数据库。
库文件名称为要附加的数据库名。
3、打开服务管理器(通常情况下应该在托盘),停止服务3、将新建的数据库文件的MDF文件删掉,并将原有的数据库mdf文件该为原来的名字4、重启sql server服务 ,此时数据库变为置疑状态5、执行以下语句:sp_configure 'allow updates', 1 reconfigure with overrideupdate sysdatabases set status='32768' wh ere name='databasename'DBCC rebuild_log ('databasename','日志路径\da tabasename.ldf')update sysdatabases set status='0' where name='databasename'sp_configure 'allow updates', 0 reconfigure with override重置数据库异常状态命令sp_resetstatus 'database_name'到此时,表面上数据库没有什么问题了,实际上此时数据库处于回避恢复模式。
新建一数据库,将原来的数据导入到新建的数据库中,完毕后将原来的数据库删除,新建,然后将数据重新导入,就行了。
需要注意的是,SQL在进行数据导入导出的时候,原始表的主建信息会丢掉,所以需要注意以下。
SQL_Server2008数据库分离和附加
![SQL_Server2008数据库分离和附加](https://img.taocdn.com/s3/m/2dd08d2a192e45361166f505.png)
7.2.8 SQL Server数据库的备份和恢复大到自然灾害,小到病毒感染、电源故障乃至操作员操作失误等,都会影响数据库系统的正常运行和数据库的破坏,甚至造成系统完全瘫痪。
数据库备份和恢复对于保证系统的可靠性具有重要的作用。
经常性的备份可以有效的防止数据丢失,能够把数据库从错误的状态恢复到正确的状态。
如果用户采取适当的备份策略,就能够以最短的时间使数据库恢复到数据损失量最少的状态。
SQL Server提供了“分离/附加”数据库、“备份/还原”数据库、复制数据库等多种数据库的备份和恢复方法。
这里介绍一种学习中常用的“分离/附加”方法,类似于大家熟悉的“文件拷贝”方法,即把数据库文件(.MDF)和对应的日志文件(.LDF)拷贝到其它磁盘上作备份,然后把这两个文件再拷贝到任何需要这个数据库的系统之中。
比如,在实验教学过程中,同学们常常想把自己在学校实验室计算机中创建的数据库搬迁到自己的计算机中而不想重新创建该数据库,就可以使用这种简单的方法。
但由于数据库管理系统的特殊性,需要利用SQL Server提供的工具才能完成以上工作,而简单的文件拷贝导致数据库根本无法正常使用。
这个方法涉及到SQL Server分离数据库和附加数据库这两个互逆操作工具。
1、分离数据库就是将某个数据库(如student_Mis)从SQL Server数据库列表中删除,使其不再被SQL Server管理和使用,但该数据库的文件(.MDF)和对应的日志文件(.LDF)完好无损。
分离成功后,我们就可以把该数据库文件(.MDF)和对应的日志文件(.LDF)拷贝到其它磁盘中作为备份保存。
2、附加数据库就是将一个备份磁盘中的数据库文件(.MDF)和对应的日志文件(.LDF)拷贝到需要的计算机,并将其添加到某个SQL Server数据库服务器中,由该服务器来管理和使用这个数据库。
下面分别介绍这两个步骤的操作细节。
1、分离数据库分离数据库的操作由以下6步构成。
SQL意外退出导致数据库置疑修复方法
![SQL意外退出导致数据库置疑修复方法](https://img.taocdn.com/s3/m/810b978dec3a87c24028c40a.png)
寒山sql数据库修复中心/MSSQL 数据库置疑的说明及修复方法MSSQL官方对suspect(‘置疑’,SQL2005 中文为‘可疑’)状态的解释:至少主文件组可“疑或可能已损坏。
在SQL Server 启动过程中无法恢复数据库。
数据库不可用。
需要用户另外执行操作来解决问题。
”SQL Server1、数据库置疑通常由于以下几种情况导致:因SQL 服务意外退出导致数据库置疑,例如突然断电导致数据库日志文件损坏,下次启动后数据库变为置疑状态。
数据库文件所在的磁盘分区没有可用空间,导致恢复数据库的操作不能完成,数据库变为置疑状态。
数据库文件组已满,这种情况通常发生在MSDE 或SQL 2005 Express,因为它们对数据库文件限制了大小,不超过2G 或4G;当单个的数据库文件接近2G 或4G 很容易出现数据库置疑的情况;另外,当数据库文件所在磁盘分区格式为FAT32 时,也有可能出现这种情况,FAT32 格式的磁盘分区单个文件不能超过4G,当单个的数据库文件接近4G 很容易出现数据库置疑的情况。
2、3、4、5、数据库文件设置为不自动增长,或设置为自动增长但限制了文件大小。
此外,其它非法的操作也有可能导致数据库置疑。
以下提供几种解决V3 数据库置疑的办法:解决客户那里出现数据库置疑通常使用第一或第二种方法,解决问题时请根据实际情况处理提示:按以下方法修复数据库后,还需要用户密切观察一下V3 服务器是否能正常运行、服务器是否有出错;查看服务器是否有出错可以右击服务管理器-‘工具’-‘日志’,在弹出的事件日志窗口中,查看应用程序日志中是否有OSERVER3 的错误信息;如果有出错信息可能会出现数据收集不完整等问题,请即时联系我们解决。
问题一:SQL 2005 数据库置疑的解决方法SQL SERVER 2005,数据库置疑,可以尝试通过以下办法解决:--第一步:新建查询,执行以下SQL 语句;USE master GOAchao_hupu 第1 页Created on 8/31/2008 11:43:00 AMSP_CONFIGURE 'ALLOW UPDATE',1 GO RECONFIGURE WITH OVERRIDE GO ALTER DATABASE OCULAR3 SET EMERGENCY --设置OCULAR3 为紧急模式GO SP_DBOPTION 'OCULAR3','SINGLE USER', 'TRUE' --设置OCULAR3 为单用户模式GO --第二步:继续执行以下SQL 语句DBCC CHECKDB('OCULAR3') --检查数据库的结构完整性,可能需要比较长时间GO --第三步:继续执行以下SQL 语句DBCC CHECKDB('OCULAR3','REPAIR_ALLOW_DA TA_LOSS') --修复数据库,可能需要比较长时间;执行到这一步,如果提示需要在单用户模式下运行,那么可以重启一下SQL SERVER 服务再执行;GO --第四步: SP_DBOPTION 'OCULAR3','SINGLE USER', 'FALSE' --设置OCULAR3 为多用户模式GO ALTER DATABASE OCULAR3 SET ONLINE --设置OCULAR3 为正常模式GO SP_CONFIGURE 'ALLOW UPDATE',0 GO RECONFIGURE WITH OVERRIDE GO --第五步:继续执行以下SQL 语句DBCC CHECKDB('OCULAR3') –再次检查数据库的结构完整性GO问题二:SQL SERVER 2000,因为断电导致数据库被破坏而置疑,可以通过以下办法解决:--第一步:新建查询,执行以下SQL 语句;USE master GO SP_CONFIGURE 'ALLOW UPDATE',1 GO RECONFIGURE WITH OVERRIDE GO --设置数据库为紧急模式UPDATE sysdatabases SET status = 32768 WHERE name = 'OCULAR3' GO SP_DBOPTION 'OCULAR3','SINGLE USER', 'TRUE' --设置OCULAR3 为单用用户模式GO --第二步:继续执行以下SQL 语句DBCC REBUILD_LOG('OCULAR3','d:\ocular3_log_log.ldf') --重建日志文件,--通常重建的日志文件放在与其它数据库文件相同目录下。
MySQL错误日志的查看与分析方法
![MySQL错误日志的查看与分析方法](https://img.taocdn.com/s3/m/b47322cd7d1cfad6195f312b3169a4517723e586.png)
MySQL错误日志的查看与分析方法导言:MySQL是一种开源的关系型数据库管理系统,被广泛应用于Web开发、大数据存储与处理等领域。
然而,使用MySQL过程中难免会遇到各种错误,而错误日志则是帮助开发人员追踪和解决问题的重要工具。
本文将介绍MySQL错误日志的查看与分析方法,希望能对读者在处理MySQL错误时提供一些有用的指导。
一、错误日志的位置与配置MySQL的错误日志默认存储在数据目录下的主机名.err文件中,可以通过查看MySQL配置文件f中的`log-error`选项来确认其准确位置。
若未指定`log-error`选项,则错误日志会被记录在系统日志文件或控制台上。
二、查看错误日志1. 登录到服务器或虚拟机中的MySQL命令行客户端;2. 运行以下命令,查看MySQL错误日志:```SHOW VARIABLES LIKE 'log_error';```该命令将显示当前MySQL错误日志的路径,然后可以使用系统提供的查看命令(如`cat`、`less`等)来打开并查看具体内容。
三、错误日志的格式与内容MySQL错误日志使用文本格式存储,其内容包括时间戳、错误级别、错误代码、错误信息等。
下面是一个示例错误日志的内容:```2021-01-01T00:00:00.000000Z 0 [ERROR] [Error Code]: Error message```其中,时间戳表示错误发生的时间,错误级别可以是`ERROR`、`WARNING`等,错误代码表示具体的错误类型,错误信息则是对错误的描述。
四、错误日志的分析方法1. 根据时间戳定位错误发生的时间,可以通过在错误日志中搜索该时间戳或者前后几行的内容来确定具体错误信息;2. 根据错误级别过滤错误,有时错误日志中会包含许多警告信息,我们可以通过只关注`ERROR`级别的信息来排除无关的内容;3. 根据错误代码查询相关信息,MySQL官方文档中提供了详细的错误代码列表,我们可以根据错误代码定位到具体的错误类型,并找到相应的解决方案;4. 结合其他日志和监控工具,有时MySQL错误日志中的信息可能不够详细,我们可以结合其他日志(如慢查询日志、查询日志)和监控工具(如Percona Toolkit、pmacct等)来对错误进行更深入的分析。
SQL 9004错误
![SQL 9004错误](https://img.taocdn.com/s3/m/c37aa102eff9aef8941e0654.png)
sql server附加数据库时出现错误提示:错误:9004 处理数据库的日志时出错先把原库文件备份一份,然后在其它机器上直接附加数据库,不要日志文件!试试!如果不行再按以下方法试试!在其他机器上,用这个试试:1.设置数据库为紧急模式Use MasterGOsp_configure 'allow updates', 1reconfigure with overrideGOUPDATE sysdatabases SET status = 32768 where name = 'DB_SUSPECT'GO2.停掉SQL Server服务:NET STOP MSSQLSERVER3.把原始数据库的数据文件DBNAME_DAT.MDF,DBNAME_LOG.LDF移走:4.启动SQL Server服务:NET START MSSQLSERVER5.重新建立一个同名的数据库DB_SUSPECT;USE masterGOCREATE DATABASE DB_SUSPECTON( NAME = DBNAME_DAT,FILENAME = 'C:',SIZE = 10,FILEGROWTH = 5 )LOG ON( NAME = 'DBNAME_LOG',FILENAME = 'g:',SIZE = 5MB,FILEGROWTH = 5MB )GO6.设置数据库运行在单用户的模式:USE MASTERGOALTER DATABASE DB_SUSPECT SET SINGLE_USERGO7.停掉SQL服务:NET STOP MSSQLSERVER8.把原来的数据文件再覆盖回来:9.启动SQL Server服务:NET START MSSQLSERVER10.重新设置SQLSERVER的状态:USE MASTERGOEXEC sp_resetstatus "DB_SUSPECT"11.数据库完整性检测:DBCC CHECKDB('DB_SUSPECT')12.恢复数据库为多用户模式:USE MASTERGOALTER DATABASE DB_SUSPECT SET MULTI_USERGO13.恢复SQLSERVER原始的配置:USE MATERGOUPDATE sysdatabases SET status = 4194320 wherename = 'DB_SUSPECT'GO14.配置SQLSERVER不允许更新系统表:USE MASTERGOsp_configure 'allow updates', 0reconfigure with overrideGO15.重新启动MSSQLSERVER服务:最好重新启动操作系统16.备份数据库:可以通过SQLSERVER企业管理器或T-SQL.需要备份MASTER和DB_SUSPECTSQL2000做附加数据库时报:处理日志出错,错误代码9004有一些资料,不知道适合你不?新建一同名数据库(文件名,文件组都和原来的一样),然后停止数据库服务,用原来文件替换新建的数据库文件,启动数据库,该数据库被设为置疑然后把数据库改成紧急模式:sp_configure 'allow', 1reconfigure with overrideupdate sysdatabases set status = 32768 where name = '数据库名'把LDF文件改名,再执行DBCC REBUILD_LOG ('数据库名', 'd:\data\数据库名_log.ldf' )恢复数据库紧急模式update sysdatabases set status = 0 where name = '数据库名'执行restore database 数据库名 WITH RECOVERYsp_configure 'allow', 0reconfigure with override然后用DBCC CHECKDB ('数据库名')看看有没有错误如果上面还是不行,试试把数据库设为紧急模式,应该可以看到数据了,在把数据导出到一个新的数据库SQL2000做附加数据库时报:处理日志出错,错误代码9004你COPY的MDF与LDF文件附加时报错,首先新建一个同名的数所库,然后停止SQLSERVER 服务,COPY你需附加的MDF文件到新建数据库,删除LDF文件,启动SQLSERVER,数据库置疑,sp_configure 'allow updates',1reconfigure with overrideupdate sysdatabases set status = 32768 where name = '数据库'dbcc rebulie_log(数据库,'path\*.ldf')sp_dbopton '数据库','read only','true'执行dbcc checkdb('数据',REPAIR_REBUILD)如果不能执行,更改update sysdatabases set status = 24 where name = '数据'再执行执行dbcc checkdb('数据',REPAIR_REBUILD)如果出现错误,检查dbcc checktable('sysobjects',REPAIR_REBUILD)最好对它进行2、3次检查,无报错信息后,再检查dbcc checktable('sysindexes',REPAIR_REBUILD)最后再检查dbcc checkdb('数据库',REPAIR_ALLOW_DATA_LOSS)由于种种原因,我们如果当时仅仅备份了mdf文件,那么恢复起来就是一件很麻烦的事情了。
数据库中数据丢失的常见情形及应对措施
![数据库中数据丢失的常见情形及应对措施](https://img.taocdn.com/s3/m/8756ce3200f69e3143323968011ca300a6c3f6c5.png)
数据库中数据丢失的常见情形及应对措施数据丢失是在数据库管理中一种非常常见的问题,不论是因为意外删除、软件错误、硬件故障还是人为错误,都可能导致数据丢失。
数据丢失可能带来巨大的风险,对于企业或个人来说,数据损失可能会导致重大影响。
因此,在数据库管理中,理解常见的数据丢失情形以及采取适当的应对措施是至关重要的。
首先,让我们一起了解一下常见的数据库数据丢失情形。
以下列举了几种常见的情形:1. 意外删除数据:这是数据库中最常见的数据丢失情形之一,可能是由于误操作、错误的脚本或逻辑错误等导致的。
如果没有适当的备份和恢复策略,意外删除的数据将无法恢复。
2. 软件错误:数据库软件可能会由于各种原因而出现错误,例如程序错误、漏洞或版本不兼容等。
这可能导致数据丢失或损坏。
3. 硬件故障:硬件故障是另一个常见的导致数据丢失的情形。
硬盘驱动器故障、电源供应故障或其他硬件组件的故障都可能导致数据丢失。
4. 数据库文件损坏:数据库文件可能会被病毒感染、操作系统故障或存储介质损坏等原因而损坏。
这将导致数据库无法正常打开或访问。
在面对上述情形时,我们需要采取适当的应对措施,以最大限度地减少数据丢失或尽早恢复丢失的数据。
1. 定期备份:定期备份是减少数据丢失风险的最重要举措之一。
将数据库定期备份到安全的位置,并确保备份文件是可用性和一致性的。
2. 数据库镜像:数据库镜像是实时复制数据库的技术。
通过创建数据库镜像,可以在主数据库出现故障时迅速切换到备份数据库,最大限度地减少数据丢失风险。
3. 数据库事务日志:事务日志记录了数据库操作的详细信息,包括修改、删除和插入等操作。
定期备份数据库事务日志,可以在数据丢失发生时恢复到最新的事务状态。
4. 冗余存储:冗余存储是使用多个独立存储设备来存储相同的数据。
通过使用冗余存储,即使一个存储设备损坏,仍然可以访问数据。
5. 监测和控制访问权限:限制对数据库的访问权限可以减少误操作或人为错误导致的数据丢失。
数据库附加提示日志错误,总是附加不上的解决办法
![数据库附加提示日志错误,总是附加不上的解决办法](https://img.taocdn.com/s3/m/dda7c683bceb19e8b8f6ba72.png)
数据库附加提示日志错误,总是附加不上的解决办法分类:sql 2010-09-14 19:42 35人阅读评论(0) 收藏举报备份数据文件,然后按下面的步骤处理:1.新建一个同名的数据库(数据文件与原来的要一致)2.再停掉sql server(注意不要分离数据库)3.用原数据库的数据文件覆盖掉这个新建的数据库4.再重启sql server5.此时打开企业管理器时会出现置疑,先不管,执行下面的语句(注意修改其中的数据库名)USE MASTERGOSP_CONFIGURE 'ALLOW UPDATES ',1 RECONFIGURE WITH OVERRIDE GOUPDATE SYSDATABASES SET STATUS =32768 WHERE NAME= '置疑的数据库名'Gosp_dboption '置疑的数据库名', 'single user ', 'true 'GoDBCC CHECKDB( '置疑的数据库名')Goupdate sysdatabases set status =28 where name= '置疑的数据库名'Gosp_configure 'allow updates ', 0 reconfigure with overrideGosp_dboption '置疑的数据库名', 'single user ', 'false 'Go6.完成后一般就可以访问数据库中的数据了,这时,数据库本身一般还要问题,我用上面的方法后,数据库可以正常使用了,当在导入数据的时候提示回避恢复模式什么的,导入总是不成功数据库的脚本创建一个新的数据库,并将数据导进去就行了.最后就是新建库把问题数据库的记录导入到新库中,在给新数据库导入新数据,成功奥!!一下是同时收集到的资料,哈哈,多看看,也有好处嘛!只有mdf文件的恢复技术由于种种原因,我们如果当时仅仅备份了mdf文件,那么恢复起来就是一件很麻烦的事情了。
数据库错误日志的分析与故障定位技巧
![数据库错误日志的分析与故障定位技巧](https://img.taocdn.com/s3/m/a4a5065fc381e53a580216fc700abb68a882ad66.png)
数据库错误日志的分析与故障定位技巧数据库错误日志是对数据库中发生的错误事件进行记录的重要工具。
通过分析数据库错误日志,我们可以了解数据库的运行状况,排查潜在的故障,并及时采取相应的措施进行修复。
在本文中,我将介绍数据库错误日志的分析方法和故障定位技巧,并提出解决常见问题的建议。
首先,我们需要了解数据库错误日志的基本结构。
数据库错误日志通常包括时间戳、错误级别、错误号、错误描述等关键信息。
通过对这些信息的分析,我们可以获得数据库运行过程中出现的错误类型、错误频率以及可能的原因。
在分析数据库错误日志时,我们应该注意以下几个方面:1. 对错误级别进行分类:数据库错误级别通常分为严重错误、警告和信息性消息。
严重错误往往会导致数据库崩溃或无法正常运行,需要立即解决。
警告信息通常提示数据库发生了某些异常情况,但不会影响数据库的整体运行。
信息性消息则提供了有关数据库运行状况的详细记录。
根据错误级别进行分类,有助于我们识别出那些需要优先处理的错误。
2. 注意关键错误号:数据库错误号是一种用于标识错误类型的编码系统。
不同的错误号代表着不同的错误情况,对错误号进行分析可以帮助我们确定数据库出现问题的具体原因。
经验丰富的数据库管理员通常会熟悉一些常见的错误号,并能够快速找到相应的解决方案。
建议定期进行错误号的整理和总结,以便快速解决类似错误。
3. 关注错误描述:数据库错误描述提供了更详细的错误信息,对于分析故障原因非常有帮助。
错误描述通常会包含错误发生的具体位置、错误发生的时间等相关信息。
通过对错误描述的仔细观察,我们可以更好地理解错误产生的背景和原因,并采取有效的措施进行处理。
故障定位是根据数据库错误日志中提供的信息,确定具体故障原因的过程。
以下是一些常见的故障定位技巧:1. 根据错误日志中的时间戳判断故障是否是周期性的。
如果故障周期性发生,很可能是由于某个定期任务或特定的负载导致的。
要解决这种问题,我们可以调整相应的定期任务或增加资源以处理更高的负载。
SQL SERVER2000 只有数据库文件没有日志文件的附加方法
![SQL SERVER2000 只有数据库文件没有日志文件的附加方法](https://img.taocdn.com/s3/m/a059651b55270722192ef76c.png)
2、只有mdf文件的恢复技术由于种种原因,我们如果当时仅仅备份了mdf文件,那么恢复起来就是一件很麻烦的事情了。
如果您的mdf文件是当前数据库产生的,那么很侥幸,也许你使用sp_attach_db或者sp_attach_single_file_db可以恢复数据库,但是会出现类似下面的提示信息设备激活错误。
物理文件名 'C:\Program Files\Microsoft SQL Server\MSSQL\data\test_Log.LDF' 可能有误。
已创建名为 'C:\Program Files\Microsoft SQL Server\MSSQL\Data\test_log.LDF' 的新日志文件。
但是,如果您的数据库文件是从其他计算机上复制过来的,那么很不幸,也许上述办法就行不通了。
你也许会得到类似下面的错误信息服务器: 消息 1813,级别 16,状态 2,行 1未能打开新数据库 'test'。
CREATE DATABASE 将终止。
设备激活错误。
物理文件名 'd:\test_log.LDF' 可能有误。
怎么办呢?别着急,下面我们举例说明恢复办法。
A.我们使用默认方式建立一个供恢复使用的数据库(如test)。
可以在SQL Server Enterprise Manager里面建立。
B.停掉数据库服务器。
C.将刚才生成的数据库的日志文件test_log.ldf删除,用要恢复的数据库mdf文件覆盖刚才生成的数据库数据文件test_data.mdf。
D.启动数据库服务器。
此时会看到数据库test的状态为“置疑”。
这时候不能对此数据库进行任何操作。
E.设置数据库允许直接操作系统表。
此操作可以在SQL Server Enterprise Manager里面选择数据库服务器,按右键,选择“属性”,在“服务器设置”页面中将“允许对系统目录直接修改”一项选中。
ORA-01110数据文件日志文件丢失打不开数据库
![ORA-01110数据文件日志文件丢失打不开数据库](https://img.taocdn.com/s3/m/760b673c7275a417866fb84ae45c3b3567ecdd1e.png)
ORA-01110数据⽂件⽇志⽂件丢失打不开数据库巴⼠终于可以打开了,英明伟⼤的祖国,我谢谢您。
--问题描述今早⼀来在⼀台准备今天安装测试ASM性能的服务器上出现找不到数据库⽂件⽇志⽂件的问题idle> alter database open;alter database open*ERROR at line 1:ORA-01157: cannot identify/lock data file 5 - see DBWR trace fileORA-01110: data file 5: '/u02/ETMCDB/ETMCDB_data_01.dbf'⽇志⽂件也丢失了但是没抓下图,借鉴⼀下⽹上的⼀篇⽂章ORA-00313: ⽆法打开⽇志组 1 (线程 1) 的成员ORA-00312: 联机⽇志 1 线程 1: 'C:\ORACLE\ORADATA\ORCL\REDO01.LOG'--原因估计是我昨天加硬盘然后fdisk,分了区,建⽴了⽂件系统,/dev/sdb 对应⽂件夹u02,随后使⽤以下脚本移动了数据⽂件SQL> Alter tablespace devbase Offline;SQL> Host mv '/u01/oradata/ETMCDB/devbase02.dbf' '/u02/oradata/xxd/devbase02.dbfSQL> Alter tablespace devbase Rename Datafile '/u01/oradata/ETMCDB/devbase02.dbf' to'/u01/oradata/xxd/devbase02.dbf';SQL> Alter tablespace devbase Online;可是当时检查也没有错误啊SQL> Select tablespace_name, initial_extent, next_extent, max_extents, pct_increase, min_extlen from dba_tablespaces;随后halt -n⼜增加了⼀堆硬盘为了分盘测试ASM,然后再启动oracle就出现这样的问题了。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
参考恢复方法:
1、停止数据库服务。
2、将需要恢复的数据库文件复制到另外的位置。
3、启动数据库服务。
4、确认要恢复的数据库文件已经成功复制到另外的位置,然后在SQL Server Management Studio中删除要恢复的数据库。
5、新建同名的数据库(数据库文件名也要相同)。
6、停止数据库服务。
7、用第2步中备份的.mdf文件覆盖新数据库的同名文件。
8、启动数据库服务。
9、运行alter database AIS20180828035121 set emergency,将数据库设置为emergency mode
--2.设置为单用户模式
alter databaseAIS20180828035121 set single_user
--3.检查并重建日志文件
dbcc checkdb('AIS20180828035121',REPAIR_ALLOW_DATA_LOSS)
--4.第步操作如果有错误提示,运行第步,没有错误则跳过
dbcc checkdb('AIS20180828035121',REPAIR_REBUILD)
--5.恢复成多用户模式
alter database AIS20180828035121 set multi_user
10、运行下面的命令就可以恢复数据库:
use master
declare @databasename varchar(255)
set @databasename='你的数据库名'
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'--将目标数据库置为多用户状态
----------------------------------------------------------------------------------------------------------
如果你一切都顺得的话就如上的步骤就可以成功了,下面我们将对特殊的状态进行分析
----------------------------------------------------------------------------------------------------------
1、一个或多个文件与数据库的主文件不匹配。
如果是尝试附加数据库,请使用正确的文件重试该操作。
如果这是现有数据库,则文件可能已损坏,应该从备份进行还原。
日志文件 'E:/Program Files/Microsoft SQL Server
2005/MSSQL.1/MSSQL/DATA/dnt2_db_log.ldf' 与主文件不匹配。
该文件可能来自另一数据库,或者可能以前重新生成了日志。
消息 5123,级别 16,状态 1,第 5 行
尝试打开或创建物理文件 'F:/项目/爱社区/数据库/dnt2_db_log.ldf' 时,CREATE FILE 遇到操作系统错误 3(系统找不到指定的路径。
)。
消息 5024,级别 16,状态 2,第 5 行
在 sysfiles1 中找不到主日志文件所对应的条目。
无法重建日志。
消息 5028,级别 16,状态 2,第 5 行
系统无法激活足够的数据库来重建日志。
解决方案:手动创建E:/Program Files/Microsoft SQL Server
2005/MSSQL.1/MSSQL/DATA目录就可以了,然后再执行
上述第10步步骤,就会在E:/Program Files/Microsoft SQL Server
2005/MSSQL.1/MSSQL/DATA产生一个日志文件。
数据库就可以正常使用了
----------------------------------------------------------
2、另外值得说说的就是,如果该数据在备份时发生
System.Data.SqlClient.SqlError: 在处理 'BackupMetadata' 元数据(数据库 ID 6,文件 ID 65537)时出错。
(Microsoft.SqlServer.Smo),说明在附加过程中没有产生全文索引文件
解决方法:
右键数据库->属性->文件->选择使用全文索引
如果执行正常那么就可以直接进行备份操作了。