如何备份事务日志 (SQL Server Management Studio)

2024-05-18 17:47

1. 如何备份事务日志 (SQL Server Management Studio)

若要备份日志尾部(即活动的日志),请选中
“备份日志尾部,并使数据库处于还原状态”。
备份日志尾部失败后执行尾日志备份,以防丢失所做的工作。在失败之后且在开始还原数据库之前,或者在故障转移到辅助数据库时,备份活动日志(尾日志备份)。选择此选项等效于在 Transact-SQL BACKUP LOG 语句中指定 NORECOVERY 选项。有关尾日志备份的详细信息,请参阅尾日志备份。

如何备份事务日志 (SQL Server Management Studio)

2. 事务日志备份既备份数据库的数据文件和日志文件存储在相同的位置

1、选择数据 “DJABC”,鼠标右键弹出菜单,选择“所有任务”“分离数据库”。
2、分离数据库:
如果有其他程序当前正连接到本数据库,请点击“清除”按钮清除所有连接,然后按下
“确定”按钮即可完成对数据库的分离。
3、删除数据库的日志文件:数据库一旦被分离后,你可以直接删除数据库的日志文件。
4、附加数据库:依次选择菜单 “数据库”“所有任务”“附加数据库”,系统会弹出附加数据库窗口。
5、选择数据文件和附加数据库名称,完成后按下确定即可将刚刚分离的数据库重新加到当前 sqlserver服务器上。
6、所有完成后,系统重新创建日志文件,新创建的日志文件大小为1K,等到以后长到很大时,再执行上面的日志清除过程即可。

3. 如何还原事务日志备份 (SQL Server Management Studio)

备份必须按照其创建顺序进行还原。在还原特定的事务日志备份之前,必须先还原下列以前备份,而不回滚未提交的事务,即 WITH NORECOVERY:在特定事务日志备份之前执行的完整数据库备份和上次差异备份(如果有)。在完整数据库备份之后执行的所有事务日志备份或在特定事务日志备份之前执行的差异备份(如果您还原了差异备份)。注意使用以下“恢复状态”选项还原以前的备份: 不对数据库执行任何操作,不回滚未提交的事务。可以还原其他事务日志。(RESTORE WITH NORECOVERY)有关使用事务日志备份的信息,请参阅使用事务日志备份。还原事务日志备份连接到相应的 Microsoft�0�2SQL Server 数据库引擎实例之后,在对象资源管理器中,单击服务器名称以展开服务器树。展开“数据库”,然后根据数据库的不同,选择用户数据库,或展开“系统数据库”,再选择系统数据库。右键单击数据库,指向“任务”,再单击“还原”。 单击“事务日志”,这将打开“还原事务日志”对话框。在“常规”页上的“数据库”列表框中,选择或键入数据库名称。仅列出处于还原状态的数据库。 若要指定要还原的备份集的源和位置,请单击以下选项之一: 从数据库以前的备份选择要还原其日志备份的数据库的名称。从文件或磁带单击“浏览”按钮以选择一个或多个文件或磁带作为事务日志备份的来源。选择文件或磁带,将打开“指定备份”对话框。在“备份媒体”列表框中,从列出的设备类型选择一种。若要为“备份位置”列表框选择一个或多个设备,请单击“添加”。将所需设备添加到列表框之后,单击“确定”返回到“常规”页。 在“选择用于还原的备份集”网格中,选择用于还原的备份。此网格列出了选定数据库可以使用的事务日志备份。只有在日志备份的“第一个 LSN”大于数据库的“最后一个 LSN”时,此日志备份才可用。日志备份按照它们所包含的日志序列号 (LSN) 的顺序排列,并且也必须按照这种顺序恢复。下表列出了网格的列标题并对列值进行了说明。标题值还原如果复选框处于选中状态,则指示要还原相应的备份集。备份集名称备份集的名称。备份组件已备份的组件:“数据库”、“文件”或(表示事务日志)。备份类型执行的备份类型:“完整”、“差异”或“事务日志”。服务器名称执行备份操作的数据库引擎实例的名称。数据库备份操作中所涉及的数据库名称。位置备份集在卷中的位置。第一个 LSN备份集中第一个事务的日志序列号。对于文件备份为空。最后一个 LSN备份集中最后一个事务的日志序列号。对于文件备份为空。检查点 LSN创建备份时最近一个检查点的日志序列号。完整LSN 最近的完整数据库备份的日志序列号。开始日期备份操作开始的日期和时间(按客户端的区域设置显示)。完成日期备份操作完成的日期和时间(按客户端的区域设置显示)。大小备份集的大小(字节)。用户名执行备份操作的用户的名称。过期备份集的过期日期和时间。选择下列操作之一: 时间点保留默认值(“最近状态”);或者通过单击“浏览”按钮,打开“时点还原”对话框,从中选择特定的日期和时间。 标记的事务将数据库还原为以前标记的事务。选择此选项会启动“选择标记的事务”对话框,从而显示一个网格,列出选定事务日志备份中可以使用的标记的事务。默认情况下,将一直还原到(但不包含)标记的事务为止。若要同时还原标记的事务,请选择“包含标记的事务”。下表列出了网格的列标题并对列值进行了说明。 标题值显示一个用于选择标记的复选框。事务标记提交事务时,用户为标记的事务指定的名称。日期事务的提交日期及时间。事务日期和时间显示为 msdbgmarkhistory 表中所记录的日期和时间,而非客户端计算机的日期和时间。说明提交事务时,用户为标记的事务指定的说明(如果有的话)。LSN所标记事务的日志序列号。数据库提交标记的事务时所在数据库的名称。用户名提交标记事务的数据库用户的名称。若要查看或选择高级选项,请在“选择页”窗格中单击“选项”。 对于“还原到”选项,可选项有:保留复制设置将已发布的数据库还原到创建该数据库的服务器之外的服务器时,保留复制设置。此选项只能与“回滚未提交的事务,使数据库处于可以使用的状态...”选项(等效于使用 RECOVERY 选项还原备份,将在后面予以介绍)一起使用。选中此选项等效于在 Transact-SQL RESTORE 语句中使用 KEEP_REPLICATION 选项。还原每个备份之前进行提示如果选中此选项,则在第一个备份集之后还原每个备份集之前,将显示“继续还原”对话框,询问您是否要继续按此顺序还原。此对话框显示下一个媒体集(如果可用)的名称、备份集的名称以及备份集的说明。如果对于不同媒体集必须更换磁带,则此选项特别有用。例如,如果服务器只有一个磁带设备,则可以使用此选项。待您做好继续操作的准备后,再单击“确定”。单击“否”将使数据库保持还原状态。完成上次还原之后,您可以在方便时继续按顺序还原。如果下一个备份是数据备份或差异备份,请再次使用“还原数据库”任务。如果下一个备份是日志备份,请使用“还原事务日志”任务。限制访问还原的数据库使还原的数据库仅供 db_owner、dbcreator 或sysadmin 的成员使用。选中此选项等效于在 Transact-SQL RESTORE 语句中使用 RESTRICTED_USER 选项。对于“恢复状态”选项,请指定还原操作之后的数据库状态。 回滚未提交的事务,使数据库处于可以使用的状态。无法还原其他事务日志。(RESTORE WITH RECOVERY)恢复数据库。此选项等效于 Transact-SQL RESTORE 语句中的 RECOVERY 选项。请仅在没有要还原的日志文件时选择此选项。 不对数据库执行任何操作,不回滚未提交的事务。可以还原其他事务日志。(RESTORE WITH NORECOVERY)使数据库处于未恢复状态。此选项等效于在 Transact-SQL RESTORE 语句中使用 NORECOVERY 选项。如果选择此选项,“保留复制设置”选项将不可用。 使数据库处于只读模式。撤消未提交的事务,但将撤消操作保存在文件中,以便可使恢复效果逆转。(RESTORE WITH STANDBY)使数据库处于备用状态。此选项等效于在 Transact-SQL RESTORE 语句中使用 STANDBY 选项。选择此选项需要您指定一个备用文件。(可选操作)在“备用文件”文本框中指定一个备用文件名。如果您使数据库处于只读模式,则必须选中此选项。您可以浏览到该备用文件,也可以在文本框中键入其路径名。

如何还原事务日志备份 (SQL Server Management Studio)

4. 数据库 'DJABC' 的日志已满.请备份该数据库的事务日志以释放一些日志空间.

数据库组成:sqlserver数据库是由2个文件 组成的,一个是数据文件,一个日志文件;数据文件保存系统所有数据,日志文件保存的是对数据库所有的修改细节;通常情况下日志文件的增长速度比数据文件要快得多,一段时间后,我们就需要对日志文件进行清理,否则一旦日志文件超过磁盘的可用空间大小,就会导致数据库服务无法正常进行,所有对数据库的操作都会失败。   查看组成数据库2个文件的位置:,进入企业管理器,找到要查看的数据库,鼠标右键点击弹出菜单,选择“属性”。
    数据文件和日志文件:显示出数据文件位置,大小,和增长规则等,同理,你可以切换到“事务日志”页面查看日志文件的相关信息。
    一、清除日志:
    1、选择数据 “DJABC”,鼠标右键弹出菜单,选择“所有任务”“分离数据库”。
    2、分离数据库:
          如果有其他程序当前正连接到本数据库,请点击“清除”按钮清除所有连接,然后按下
          “确定”按钮即可完成对数据库的分离。
    3、删除数据库的日志文件:数据库一旦被分离后,你可以直接删除数据库的日志文件。
    4、附加数据库:依次选择菜单 “数据库”“所有任务”“附加数据库”,系统会弹出附加数据库窗口。
    5、选择数据文件和附加数据库名称,完成后按下确定即可将刚刚分离的数据库重新加到当前 sqlserver服务器上。
    6、所有完成后,系统重新创建日志文件,新创建的日志文件大小为1K,等到以后长到很大时,再执行上面的日志清除过程即可。
    二、备份
    在企业管理器中SQL服务器-Northwind-右键-所有任务-备份数据库, 然后在图形界面下进行相应的操作,这是非常简和安全的 。

5. 如何使用事务日志恢复sql server数据库

恢复过程以数据库恢复模式设为FULL为例:
恢复过程的第一步是执行尾日志备份,(BACKUP LOG Student TO DISK='E:\stulog.dmp'   ) 。
在恢复一个数据库之前,为保证上次备份之后发生改变的记录都包含在恢复过程之中,需要执行这种类型的备份。
下一步,查找数据库备份文件在机器或网络中的存储位置。
如果要在另一台服务器上恢复数据库,最好是把这些文件复制到目标服务器中。在备份文件所在的位置,找出最后一个完整的数据库备份(这些文件通常使用.bak为扩展名);恢复这个完整的备份。

下面的脚本将完整的备份文件应用于NewDatabase数据库:
RESTORE DATABASE NewDatabaseFROM DISK = 'D: BackupFilesTestDatabaseFullBackup.bak'WITHMOVE 'PreviousDatabase' TO 'D:DataFiles TestDatabase.mdf',MOVE 'PreviousDatabase_log' TO 'D:DataFiles TestDatabase_Log.ldf',NORECOVERY这段脚本指出完整备份文件位于服务器的D盘中,你正在使用备份文件恢复NewDatabase这个数据库。
脚本中的语句将数据文件和日志文件从完整备份文件转移到TestDatabase数据库的新文件中。脚本中的最后一个语句——NORECOVERY——非常重要。
NORECOVERY模式有三种选项,如下所示:
NORECOVERY:告诉SQL Server你没有完成恢复数据库的过程,随后会出现恢复文件。当数据库处于这种状态时,数据库还不能使用,因而不允许建立连接。
RECOVERY:告诉SQL Server你已经完成数据库恢复过程,数据库即将准备就绪。这是默认选项,也是最常用的选项。
STANDBY:告诉SQL Server当前数据库还未为完成恢复做好准备,随后可以使用日志文件进行恢复。如果必要,你可以使用这个选项为恢复数据库建立连接。但是,如果当前不存在连接,将来的事务日志只能应用于数据库。
一旦你使用NORECOVERY选项恢复了完整备份,你可以开始应用事务日志备份或差异备份。
差异备份
差异备份是指对上次完整数据库备份后数据库发生的任何改变进行备份。如果有几个差异备份,只需要恢复最后一个备份文件。在这种情况下,并不存在差异备份,因此可以直接转向事务日志备份。
事务日志备份
事务日志备份保留上次事务日志备份后发生的所有事务的痕迹;它还允许把数据库恢复到数据库发生错误之前的一个时间点。事务日志备份按顺序发生,从而建立一个备份链。在把一连串事务日志备份恢复到一个时间点时,事务日志文件也必须按顺序恢复。
当使用一个数据库维护计划来建立事务日志备份时,事务日志文件名中往往包含一个时间指示器。
下面的脚本使用NORECOVERY选项应用三个事务日志备份,最后一个语句把数据库恢复到最后一个事务日志文件的结束点。
RESTORE LOG NewDatabaseFROM DISK = ''D: BackupFilesTestDatabase_TransactionLogBackup1.trn'WITH NORECOVERYRESTORE LOG NewDatabaseFROM DISK = ''D: BackupFiles TestDatabase_TransactionLogBackup2.trn'WITH NORECOVERYRESTORE LOG NewDatabaseFROM DISK = ''D: BackupFiles TestDatabase_TransactionLogBackup3.trn'WITH NORECOVERYRESTORE LOG NewDatabaseFROM DISK = ''D: BackupFiles TestDatabase_TransactionLogBackup4.trn'WITH RECOVERY恢复到一个时间点
在上面的例子中,把数据库恢复到最后一个事务日志的结束点。
如果想把数据库恢复到事务日志结束前的某个特定的时间点,必须使用STOPAT选项。
下面的脚本把日志序列中的第四个事务日志恢复到4:01 AM——正好在数据库出错之前。
RESTORE LOG NewDatabaseFROM DISK = ''D: BackupFiles TestDatabase_TransactionLogBackup4.trn'WITH STOPAT = N'6/28/2007 4:01:45 PM', RECOVERY

如何使用事务日志恢复sql server数据库

6. 数据库 'AIS20081212122519' 的日志已满。请备份该数据库的事务日志以释放一些日志空间。请问怎么处理?

清空日志的命令:
DUMP TRANSACTION dbname WITH NO_LOG
截断事务日志命令:
BACKUP LOG dbname WITH NO_LOG
收缩日志操作:
DBCC   shrinkdatabase (tempdb)   
或者是:右键点数据库-属性-所有任务-收缩数据库-文件-选择文件-确定。
虽然用清空日志命令清空了tempdb的日志,但是不能解决问题。于是扩大tempdb的数据文件和日志文件的大小。有问题再追问,望采纳。

7. 如何使用事务日志恢复SQL Server数据库

是,了解如何恢复数据库是数据库管理员技能背景中一个至关重要的组成部分。本文将说明如何把一个SQL Server数据库回复到恢复一个数据表的时候。情况介绍update或delete语句忘带了where子句,或where子句精度不够,执行之后造成了严重的后果,
这种情况的数据恢复只能利用事务日志的备份来进行,所以如果你的SQL没有进行相应的全库备份
或不能备份日志(如果为了不让日志文件变大而置trunc. log on chkpt.选项为1),那么就无法进行数据的恢复了,或者只能恢复到最近一次的备份的数据了。恢复过程注意,在本文中,我假定你的数据库恢复模式设为FULL。恢复过程的第一步是执行尾日志备份,(BACKUP LOG Student TO DISK='E:\stulog.dmp' ) 。在恢复一个数据库之前,为保证上次备份之后发生改变的记录都包含在恢复过程之中,你可能需要执行这种类型的备份。下一步,你应该查找数据库备份文件在机器或网络中的存储位置。如果你要在另一台服务器上恢复数据库,最好是把这些文件复制到目标服务器中。在备份文件所在的位置,找出最后一个完整的数据库备份(这些文件通常使用.bak为扩展名);你需要恢复这个完整的备份。下面的脚本将完整的备份文件应用于NewDatabase数据库:RESTORE DATABASE NewDatabaseFROM DISK = 'D: BackupFilesTestDatabaseFullBackup.bak'WITHMOVE 'PreviousDatabase' TO 'D:DataFiles TestDatabase.mdf',MOVE 'PreviousDatabase_log' TO 'D:DataFiles TestDatabase_Log.ldf',NORECOVERY这段脚本指出完整备份文件位于服务器的D盘中,你正在使用备份文件恢复NewDatabase这个数据库。脚本中的语句将数据文件和日志文件从完整备份文件转移到TestDatabase数据库的新文件中。脚本中的最后一个语句——NORECOVERY——非常重要。

如何使用事务日志恢复SQL Server数据库

8. 如何使用事务日志恢复SQL Server数据库

但是,了解如何恢复数据库是数据库管理员技能背景中一个至关重要的组成部分。本文将说明如何把一个SQL Server数据库回复到恢复一个数据表的时候。情况介绍update或delete语句忘带了where子句,或where子句精度不够,执行之后造成了严重的后果,
这种情况的数据恢复只能利用事务日志的备份来进行,所以如果你的SQL没有进行相应的全库备份
或不能备份日志(如果为了不让日志文件变大而置trunc. log on chkpt.选项为1),那么就无法进行数据的恢复了,或者只能恢复到最近一次的备份的数据了。恢复过程注意,在本文中,我假定你的数据库恢复模式设为FULL。恢复过程的第一步是执行尾日志备份,(BACKUP LOG Student TO DISK='E:\stulog.dmp' ) 。在恢复一个数据库之前,为保证上次备份之后发生改变的记录都包含在恢复过程之中,你可能需要执行这种类型的备份。下一步,你应该查找数据库备份文件在机器或网络中的存储位置。如果你要在另一台服务器上恢复数据库,最好是把这些文件复制到目标服务器中。在备份文件所在的位置,找出最后一个完整的数据库备份(这些文件通常使用.bak为扩展名);你需要恢复这个完整的备份。下面的脚本将完整的备份文件应用于NewDatabase数据库:RESTORE DATABASE NewDatabaseFROM DISK = 'D: BackupFilesTestDatabaseFullBackup.bak'WITHMOVE 'PreviousDatabase' TO 'D:DataFiles TestDatabase.mdf',MOVE 'PreviousDatabase_log' TO 'D:DataFiles TestDatabase_Log.ldf',NORECOVERY这段脚本指出完整备份文件位于服务器的D盘中,你正在使用备份文件恢复NewDatabase这个数据库。脚本中的语句将数据文件和日志文件从完整备份文件转移到TestDatabase数据库的新文件中。脚本中的最后一个语句——NORECOVERY——非常重要。NORECOVERY模式有三种选项,如下所示:NORECOVERY:告诉SQL Server你没有完成恢复数据库的过程,随后会出现恢复文件。当数据库处于这种状态时,数据库还不能使用,因而不允许建立连接。 RECOVERY:告诉SQL Server你已经完成数据库恢复过程,数据库即将准备就绪。这是默认选项,也是最常用的选项。 STANDBY:告诉SQL Server当前数据库还未为完成恢复做好准备,随后可以使用日志文件进行恢复。如果必要,你可以使用这个选项为恢复数据库建立连接。但是,如果当前不存在连接,将来的事务日志只能应用于数据库。 一旦你使用NORECOVERY选项恢复了完整备份,你可以开始应用事务日志备份或差异备份。差异备份差异备份是指对上次完整数据库备份后数据库发生的任何改变进行备份。如果你有几个差异备份,你只需要恢复最后一个备份文件。在这种情况下,并不存在差异备份,因此你可以直接转向事务日志备份。事务日志备份事务日志备份保留上次事务日志备份后发生的所有事务的痕迹;它还允许你把数据库恢复到数据库发生错误之前的一个时间点。事务日志备份按顺序发生,从而建立一个备份链。在把一连串事务日志备份恢复到一个时间点时,事务日志文件也必须按顺序恢复。当你使用一个数据库维护计划来建立事务日志备份时,事务日志文件名中往往包含一个时间指示器。下面的脚本使用NORECOVERY选项应用三个事务日志备份,最后一个语句把数据库恢复到最后一个事务日志文件的结束点。RESTORE LOG NewDatabaseFROM DISK = ''D: BackupFilesTestDatabase_TransactionLogBackup1.trn'WITH NORECOVERYRESTORE LOG NewDatabaseFROM DISK = ''D: BackupFiles TestDatabase_TransactionLogBackup2.trn'WITH NORECOVERYRESTORE LOG NewDatabaseFROM DISK = ''D: BackupFiles TestDatabase_TransactionLogBackup3.trn'WITH NORECOVERYRESTORE LOG NewDatabaseFROM DISK = ''D: BackupFiles TestDatabase_TransactionLogBackup4.trn'WITH RECOVERY恢复到一个时间点在上面的例子中,你把数据库恢复到最后一个事务日志的结束点。如果你想把数据库恢复到事务日志结束前的某个特定的时间点,你必须使用STOPAT选项。下面的脚本把日志序列中的第四个事务日志恢复到4:01 AM——正好在数据库出错之前。RESTORE LOG NewDatabaseFROM DISK = ''D: BackupFiles TestDatabase_TransactionLogBackup4.trn'WITH STOPAT = N'6/28/2007 4:01:45 PM', RECOVERY既然你已经把数据库恢复到一个你指定的时间点上,现在该是决定如何帮助开发者,使他们的工作更加轻松的时候了。
最新文章
热门文章
推荐阅读