当前位置:首页 » 数据仓库 » 尚未备份数据库的日志尾部
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

尚未备份数据库的日志尾部

发布时间: 2022-09-14 07:47:36

‘壹’ sql2008数据还原时报错“尚未备份数据库‘XX’的日志尾部”。不能还原。

这是因为还原的数据库随后后又产生了新的日志,所以按照默认设置的备份选项,系统将提示备份日志尾部以免造成事务中断。
解决方法:
如果需要备份尾部日志则进行备份。如果不需要,则可以在还原数据库的的选项卡中选择【覆盖现有数据库】复选框。

‘贰’ 用ASP.NET 2.0编写代码还原数据库,有的可以还原,有的不可以还原,出现错误提示:尚未备份数据库。求助!

sql2005还原时出现下面的错误,System.Data.SqlClient.SqlError: 尚未备份数据库 "***" 的日志尾部。如果该日志包含您不希望丢失的工作,请使用 BACKUP LOG WITH NORECOVERY 备份该日志。请使用 RESTORE 语句的 WITH REPLACE 或 WITH STOPAT 子句来只覆盖该日志的内容。 (Microsoft.SqlServer.Smo)

原因分析
这是因为在线还原的数据库在最后备份后又产生了新的日志,所以按照默认设置的备份选项,系统将提示备份日志尾部以免造成事务中断。
解决方法
如果需要备份尾部日志则进行备份。如果不需要,则可以在还原数据库的的选项卡中选择【覆盖现有数据库】复选框。

‘叁’ SQL Server 2008 R2中数据库备份成功,但还原却提示有异常,求解。

这种备份不需要备份日志,如果备份有异常,可以考虑换一种备份方式:

1、分离数据库;
2、把数据库拷贝走
3、把拷贝的数据库附加到新的数据库下,就可以了;
4、原来的数据库也附加回去,完成!

‘肆’ C# 数据库还原的问题.

【作者晓宽】

privatevoidRestore()

{

stringpath=this.tb_恢复路径.Text;//获得备份路径及数据库名称

stringdbname=this.cbb_还原数据库.Text;

stringSqlStr1="server='"+ss.DecryptString(sArray2[0])+"';database='"+this.cbb_还原数据库.Text+"';PersistSecurityInfo=True;UserID='"+ss.DecryptString(sArray2[2])+"';Password='"+ss.DecryptString(sArray2[3])+"'";

stringSqlStr2="usemasterrestoredatabase"+dbname+"fromdisk='"+path+"'WithReplace";//不加withReplace在运行可能会出现“尚未备份数据库的日志尾部”错误

using(SqlConnectioncon=newSqlConnection(SqlStr1))

{

con.Open();

try

{

SqlCommandcmd=newSqlCommand(SqlStr2,con);

cmd.Connection=con;

cmd.ExecuteNonQuery();

MessageBox.Show("还原数据成功");

}

catch

{

MessageBox.Show("还原失败,请确保还原项与库对应");

}

finally

{

con.Close();

}

}

}

privatevoidbt_恢复_Click(objectsender,EventArgse)

{

Restore();

}

‘伍’ 如何备份事务日志尾部

您好,很高兴为您解答。

备份事务日志尾部
连接到相应的 MicrosoftSQL Server 数据库引擎实例之后,在对象资源管理器中,单击服务器名称以展开服务器树。
展开“数据库”,然后根据数据库的不同,选择用户数据库,或展开“系统数据库”,再选择系统数据库。
右键单击数据库,指向“任务”,再单击“备份”。将出现“备份数据库”对话框。
在“数据库”列表框中,验证数据库名称。您也可以从列表中选择其他数据库。
验证恢复模式是 FULL 还是 BULK_LOGGED。
在“备份类型”列表框中,选择“事务日志”。
使“仅复制备份”处于取消选中状态。
可以接受“名称”文本框中建议的默认备份集名称,也可以为备份集输入其他名称。
在“说明”文本框中,输入结尾日志备份的说明。
指定备份集的过期时间:
若要使备份集在特定天数后过期,请单击“之后”(默认选项),并输入备份集从创建到过期所需的天数。此值范围为 0 到 99999 天;0 天表示备份集将永不过期。
默认值在“服务器属性”对话框(位于“数据库设置”页上)的“默认备份媒体保持期(天)”选项中设置。若要访问此对话框,请在对象资源管理器中右键单击服务器名称,选择“属性”,再选择“数据库设置”页。
若要使备份集在特定日期过期,请单击“在”,并输入备份集的过期日期。
通过单击“磁盘”或“磁带”,选择备份目标的类型。若要选择包含单个媒体集的多个磁盘或磁带机(最多为 64 个)的路径,请单击“添加”。选择的路径将显示在“备份到”列表框中。
若要删除备份目标,请选择该备份目标并单击“删除”。若要查看备份目标的内容,请选择该备份目标并单击“内容”。
在“选择页”窗格中,单击“选项”。
可以通过单击以下选项之一来选择“覆盖媒体”选项:
备份到现有媒体集
对于此选项,请单击“追加到现有备份集”或“覆盖所有现有备份集”。有关详细信息,请参阅追加到现有备份集和覆盖备份集。
或者选择“检查媒体集名称和备份集过期时间”,以使备份操作对媒体集和备份集的过期日期和时间进行验证。
或者在“媒体集名称”文本框中输入名称。如果没有指定名称,将使用空白名称创建媒体集。如果指定了媒体集名称,将检查媒体(磁带或磁盘),以确定实际名称是否与此处输入的名称匹配。
如果将媒体名称保留空白,并选中该框以便与媒体进行核对,则只有当媒体上的媒体名称也是空白时才能成功。
备份到新媒体集并清除所有现有备份集
对于该选项,请在“新建媒体集名称”文本框中输入名称,并在“新建媒体集说明”文本框中描述媒体集(可选)。有关详细信息,请参阅创建新媒体集。
或者,在“可靠性”部分中,选中:
完成后验证备份。
“写入媒体前检查校验和”和“出现校验和错误时继续”(可选)。有关校验和的信息,请参阅在备份和还原期间检测和处理媒体错误。
在“事务日志”部分,选中“备份日志尾部,并使数据库处于还原状态”。
这相当于指定以下 BACKUPTransact-SQL 语句:
BACKUP LOG database_name TO <backup_device> WITH NORECOVERY

【在还原时,“还原数据库”对话框将结尾日志备份的类型显示为“事务日志(仅备份)】

如果备份到磁带机(如同“常规”页的“目标”部分指定的一样),则“备份后卸载磁带”选项处于活动状态。单击此选项可以激活“卸载前倒带”选项。
SQL Server 2008 Enterprise 及更高版本支持备份压缩。默认情况下,是否压缩备份取决于“备份压缩默认值”服务器配置选项的值。但是,不管当前服务器级默认设置如何,您都可以通过选中“压缩备份”来压缩备份,并且可以通过选中“不压缩备份”来防止压缩备份。
查看当前备份压缩默认值

如若满意,请点击右侧【采纳答案】,如若还有问题,请点击【追问】

希望我的回答对您有所帮助,望采纳!

~ O(∩_∩)O~

‘陆’ sql2008怎么备份日志文件

一、 结尾日志备份的含义。
由于结尾日志备份是SQLServer数据库特有的一个内容。所以对于从其他数据库转型过来的管理员可能并不了解这个结尾日志备份的含义。在大多数情况下,如在完成恢复模式或者大容量日志恢复模式下,SQLServer数据库要求管理员备份事务日志的结尾部分以获得尚未备份的日志记录。这个在还原操作之前对日志尾部执行的日志备份就叫做结尾日志备份。对于SQLServer数据库来说,在事务日志恢复之前进行事务日志的尾部备份是非常必要的。因为结尾日志备份作业可以防止用户修改数据的丢失并最终确保日志链的完整性。在利用事务日志将数据库恢复到某一个指定的点,如数据库故障点的时候,结尾日志备份是恢复计划中的最后一个相关备份。如果在还原之前无法备份日志的尾部,那么就只能够将数据库恢复为故障发生之前创建的最后一个备份。而不能够恢复到故障发生的那一点。所以说,结尾日志备份对于SQLServer数据库非常的重要。
二、 在何时该进行结尾日志备份?
从结尾日志备份的含义中,我们也可以看出,并不是在任何情况下都需要作结尾日志备份。也就是说,对于SQLServer数据库来说,并非所有的还原方案都需要执行结尾日志部分。如在数据库恢复的时候,不需要恢复到故障的那一点,就不需要进行结尾日志备份。同理,如果先前的日志备份中已经包含了恢复点,或者说管理员准备覆盖某个数据库或者移动数据库的时候,往往不需要进行结尾日志备份。另外需要的是,在某些特定情况下即使数据库管理员想进行事务日志尾部备份都不行。如当事务日志文件已经损坏时就无法继续进行事务日志尾部备份。此时虽然数据库管理员任人可以在不使用结尾日志备份的情况下恢复数据库,但是已经不能够恢复到故障发生的那一点。也就是说,最新日志备份后进行的任何数据修改工作与数据库结构调整工作都回丢失。
具体的来说,如果遇到如下两种情况,需要先对马上对事务日志进行尾部备份。
一是需要对数据库进行还原操作,而且是要还原到最近到的一个点时,那么需要先对数据库进行事务日志尾部备份。即在数据库处于联机状态时,如果数据库管理员需要对数据库进行的下一个操走就是还原操作,那么就需要在还原操作之前进行事务日志尾部备份。也就是说,在还原操作之前才能够进行事务日志尾部备份,即在事务日志备份备份与数据库还原之间不能够再进行任何的数据库修改作业。否则的话在还原后这个修改会丢失。另外需要注意的是,为了出现一些不必要的错误,最好在备份事务尾部日志的时候,采用NORECOVERY选项。这个选项主要是为了确保数据库事务日志尾部备份之后数据库不能够再被修改。也就是说,可以保证事务日志尾部备份到数据库还原中间的时间间隔之内,不再发生任何的数据库更改作业。以确保在利用事务日志尾部备份进行数据库还原的时候,能够还原到一个最近的时点。而不会有任何数据的丢失。这是在最正常的情况下对事务日志的尾部进行备份。

‘柒’ sql server 2005数据库文件无法还原,报错如下图

楼主你是还没有备份事物日志造成的
备份的选项要选择“备份日志尾部,并使数据库处于还原状态”,确定即可。
还原:选中要还原的数据库,
右击
——任务——还原——数据库,会看到有完整
备份文件

事务日志
备份文件,都选中,然后选择时间点,就可以还原到最近的时间点。
希望解决了楼主的问题

‘捌’ 使用 backup database 语句备份数据库后无法通过语句RESTORE DATABASE 还原。

数据库正在使用先结束数据库进程

‘玖’ 尚未备份数据库 "***" 的日志尾部。

USE master
GO
RESTORE DATABASE drivingSchoolMange
FROM disk = 'D:\nihao.db' WITH REPLACE
GO

在末尾加上 with replace就行了~~