sql日志备份
数据库的备份和恢复一、备份数据库1、打开SQL企业管理器,在控制台根目录中依次点开MicrosoftSQLServer2、SQLServer组--双击打开你的服务器--双击打开数据库目录3、选择你的数据库名称(如论坛数据库Forum)--然后点上面菜单中的工具--选择备份数据库4、备份选项选择完全备份,目的中的备份到如果原来有路径和名称则选中名称点删除,然后点添加,如果原来没有路径和名称则直接选择添加,接着指定路径和文件名,指定后点确定返回备份窗口,接着点确定进行备份二、还原数据库
1、打开SQL企业管理器,在控制台根目录中依次点开MicrosoftSQLServer
2、SQLServer组--双击打开你的服务器--点图标栏的新建数据库图标,新建数据库的名字自行取
3、点击新建好的数据库名称--然后点上面菜单中的工具--选择恢复数据库
4、在弹出来的窗口中的还原选项中选择从设备--点选择设备--点添加--然后选择你的备份文件名--添加后点确定返回,这时候设备栏应该出现您刚才选择的数据库备份文件名,备份号默认为1(如果您对同一个文件做过多次备份,可以点击备份号旁边的查看内容,在复选框中选择最新的一次备份后点确定)--然后点击上方常规旁边的选项按钮
5、在出现的窗口中选择在现有数据库上强制还原,以及在恢复完成状态中选择使数据库可以继续运行但无法还原其它事务日志的选项
在窗口的中间部位的将数据库文件还原为这里要按照你SQL的安装进行设置(也可以指弊旁定自己的目录),逻辑文件名不需要改动,移至物理文件名要根据你所恢复的机器情况做改动,如您的SQL数据库装在D:/ProgramFiles/MicrosoftSQLServer/MSSQL/Data,那么就按照您恢复机器的目录进行相关改动改动,并且最后的文件名最好改成您当前的数据库名(如原来是zw0001mdf,现在的数据库是zw0002,就改成zw0002mdf),日志和数据文件都要按照这样的方式做相关的改动(日志的文件名是ldf结尾的),这里的恢复目录您可以自由设置,前提是该目录必须存在(如您可以指定d:/sqldata/zw0002mdf或者d:/sqldata/zw0002ldf),否则恢复将报洞纤错
6、修改完成后,点击下面的确定进行恢复,这时会出现一个进度条,提示恢复的进度,恢复完成后系统会自动提示成功,如中间提示报错,请记录下相关的错误内容并询问对SQL操作比较熟悉的人员,一般的错误无非是目录错误或者文件名重复或者文件名租颤橡错误或者空间不够或者数据库正在使用中的错误,数据库正在使用的错误您可以尝试关闭所有关于SQL窗口然后重新打开进行恢复操作,如果还提示正在使用的错误可以将SQL服务停止然后重起看看,至于上述其它的错误一般都能按照错误内容做相应改动后即可恢复三、设定每日自动备份数据库1、打开企业管理器,在控制台根目录中依次点开
Ⅱ sql server 2014日志备份怎样恢复
NORECOVERY
指定不发生回滚。
从而使前滚按顺序在下一条语句中继续进行。
在这种情况下,还原顺序可还原其他备份,并执行前滚。
RECOVERY(默认值)表示,应在完成当前备份前滚之后执行回滚。
恢复数据库要求要还原的整个数据集(“前滚集”)必须与数据库一致。
如果前滚集尚未前滚到与数据库保持一致的地步,并且指定了
RECOVERY,则数据库引擎将发出错误。
也就是说,你还原一个文件后,后续还有文件要还原,就要使用NORECOVERY,如果后续没有文件,或是你不想还原后续的文件,就使用recovery。
如果你要还原事务日志,首先你要有一个完整备份,先还原完整备份,并使用NORECOVERY选项,然后,按顺序还原日志备份。只要后续还有文件要还原,就使用NORECOVERY选项,如果后续没有文件或是不想再还原其他文件了,就使用RECOVERY选项。使用RECOVERY选项后,还原过程就完成了,数据库就可以使用了。
Ⅲ sql server 2008 日志怎么备份
在SQL Server 7.0和SQL Server2000中,可以用下面的命令查看: DBCC log ( {dbiddbname}, [, type={01234}] ) 参数: Dbid or dbname - 任一数据库的ID或名字 type - 输出结果的类型: 0 - 最少信息(operation, context, transaction id) 1 - 更多信息(plus flags, tags, row length) 2 - 非常详细的信息(plus object name, index name,page id, slot id) 3 - 每种操作的全部信息 4 - 每种操作的全部信息加上该事务的16进制信息 默认 type = 0 要查看MSATER数据库的事务日志可以用以下命令: DBCC log (master) 释放日志空间 1.清空日志 DUMP TRANSACTION 库名 WITH NO_LOG 2.截断事务日志: BACKUP LOG 数据库名 WITH NO_LOG 3.收缩数据库文件(如果不压缩,数据库的文件不会减小 企业管理器--右键你要压缩的数据库--所有任务--收缩数据库--收缩文件 --选择日志文件--在收缩方式里选择收缩至XXM,这里会给出一个允许收缩到的最小M数,直接输入这个数,确定就可以了 --选择数据文件--在收缩方式里选择收缩至XXM,这里会给出一个允许收缩到的最小M数,直接输入这个数,确定就可以了 也可以用SQL语句来完成 --收缩数据库 DBCC SHRINKDATABASE(客户资料) --收缩指定数据文件,1是文件号,可以通过这个语句查询到:select * from sysfiles DBCC SHRINKFILE(1) 4.为了最大化的缩小日志文件(如果是sql 7.0,这步只能在查询分析器中进行) a.分离数据库: 企业管理器--服务器--数据库--右键--分离数据库 b.在我的电脑中删除LOG文件 c.附加数据库: 企业管理器--服务器--数据库--右键--附加数据库 此法将生成新的LOG,大小只有500多K 或用代码: 下面的示例分离 pubs,然后将 pubs 中的一个文件附加到当前服务器。 a.分离 E X E C sp_detach_db @dbname = 'pubs' b.删除日志文件 c.再附加 E X E C sp_attach_single_file_db @dbname = 'pubs', @physname = 'c:\Program Files\Microsoft SQL Server\MSSQL\Data\pubs.mdf' 5.为了以后能自动收缩,做如下设置: 企业管理器--服务器--右键数据库--属性--选项--选择"自动收缩" --SQL语句设置方式: E X E C sp_dboption '数据库名', 'autoshrink', 'TRUE' 6.如果想以后不让它日志增长得太大 企业管理器--服务器--右键数据库--属性--事务日志 --将文件增长限制为xM(x是你允许的最大数据文件大小) --SQL语句的设置方式: alter database 数据库名 modify file(name=逻辑文件名,maxsize=20) 特别注意: 请按步骤进行,未进行前面的步骤,请不要做后面的步骤 否则可能损坏数据库. 一般不建议做第4,6两步 第4步不安全,有可能损坏数据库或丢失数据 第6步如果日志达到上限,则以后的数据库处理会失败,在清理日志后才能恢复. 另外提供一种更简单的方法,建议大家使用。 更简单的方法: 1。右建数据库属性窗口--故障还原模型--设为简单 2。右蚂指卖建数据库所有任务--收缩数据库 3。右建数据库属性窗闷逗口--故障还原模型--设为逗谨大容量日志记录
Ⅳ SQL数据库备份
SQL语句里有.
备份
backupdatabase[数据库名]todisk=[磁盘路径]
例如
backupdatabasedatatodisk='D:\1.bak'
恢复
restoredatabase[数据库名]fromdisk=[磁盘路径]
例如
restoredatabasedatafromdisk='D:\1.bak'
createPROCEDUREGY_DBBak
@bakequipint,--备份设备:磁盘&磁带
@bakpathvarchar(50),--带全路径的备份文件名
@baktypeint,--完全备份&增量备份
@baklogint,--‘0’备份日志
@bakdbint,--‘0’备份数据库
@kindvarchar(7),--备份还是恢复
@retmsgvarchar(20)output--返回信息
AS
DECLARE@DevName_datavarchar(50)
DECLARE@DevName_logvarchar(50)
declare@db_pathvarchar(100)
declare@log_pathvarchar(100)
DECLARE@RCINT
SELECT@db_path=@bakpath+'.dat'
SELECT@log_path=@bakpath+'log.dat'
SELECT@RC=0
DBCCCHECKDB(Northwind)
/***********************************************************
**CREATEBACKUPANDRESTOREDEVICES
************************************************************/
IF@RC=0
BEGIN
EXECsp_admpdevice'disk',@DevName_data,@db_path
execsp_admpdevice'disk',@DevName_log,@log_path
select@rc=@@error
IF@RC<>0
begin
EXECSP_DropDevice@Devname_data
execsp_dropdevice@devname_log
SELECT@RC=-1000
return@rc
end
END
IF@kind='backup'
BEGIN
IF@bakequip=0
BEGIN
IF@baktype=0
BEGIN
IF@bakdb=0
BEGIN
BACKUPDATABASENorthwindTODISK=@Devname_data
WITHINIT
END
IF@baklog=0
BEGIN
BACKUPLOGNorthwindWITHNO_LOG
BACKUPLOGNorthwindTODISK=@DevName_log
WITHINIT,NO_TRUNCATE
END
END
ELSEBEGIN
IF@bakdb=0
BEGIN
BACKUPDATABASENorthwindTODISK=@DevName_data
WITHNOINIT
END
IF@baklog=0
BEGIN
BACKUPLOGNorthwindWITHNO_LOG
BACKUPLOGNorthwindTODISK=@DevName_log
WITHNOINIT,NO_TRUNCATE
END
END
END
SELECT@retmsg='数据库备份成功!'
END
IF@kind='restore'
BEGIN
=@DevName_dataWITHREPLACE
SELECT@retmsg='恢复数据库成功!'
END
RETURN0
Ⅳ 如何还原事务日志备份 (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中的日志转移
如何快速掌握SQL Server中的日志转移
集群是一种实现高可用性的有效解决方案,有时它会适得其反。而且,它还非常昂贵。因此,数据库管理员可使用日志转移代替集群来提供较高的可用性。
日志转移是这样一种处理过程,它能将某一数据库中的事务日志文件依次转存到备份的数据库中,进而为这一数据库创建一个“近乎”热备份。SQL Server 2000的数据库引擎中设置了日志转移功能,并在其中进行处理。所以它会自动完成复原到备份服务器的进程,而不需要数据库管理员手动操作。只有你的产品服务器操作失败,你才需手动完成到备份服务器的复原进程。(注释:尽管SQL Server 7.0和2005中均有日志转移功能,但本文主要针对SQL Server 2000。)
为什么要使用日志转移?
日志转移是一种解决高可用性的措施,并且十分有效。同样作为高可用性的措施方案,日志转移相对集群来说,最大的.好处是它要便宜许多。这是因为,使用集群功能有硬件要求,而日志转移则不需要。
日志转移在数据库与数据库而非服务器与服务器之间进行;因此才有可能将备份数据库存储在你已用作其他用途的服务器上。但如果转移失败则有可能会出现问题,这时你可换用备份数据库,这种选择是可用的。
日志转移相对比较容易安装。SQL Server提供了非常完善的向导帮助你安装这个进程。
日志转移允许你保存分布在不同地理位置中的冗余数据,SQL Server的集群功能则很难做到这一点。这一特点十分出众,因为,当你的数据中心遭到灾难时,你仍能在备份服务器中将其恢复过来。而在相同的数据中心,如果你使用的是集群功能,你就会陷入麻烦。
日志转移的另一优点是你能将备份数据库作为报告数据库使用,这对许多公司来说是很不错的选择。但如果你决定了用这个备份数据库作报告使用,就必须注意它的局限性。使用原始数据库中的日志时,SQL Server 要求指定唯一的通道,所以,当日志文件正在被应用时,报告则不能同时进行。
使用日志转移要考虑的相关因素
在将日志转移作为高可用性的方案来使用时,我们必须考虑以下几点因素。由于从原始数据库到备份数据库有一个潜伏期,对你的公司而言,它并非一定是可行的实现高可用性的一种解决方案。潜伏期由数据库管理员设置,时间也因需要而缩短, 但永远不能避免。
日志转移中没有设置恢复功能,这就意味着在将日志转移到备份服务器上时,这些日志都暂时不可用。因此,数据库管理员必须在将备份数据库放到网上前完成一系列的操作,这些步骤包括:
将已存储在备份数据服务器上原始数据库里的备份标签存储起来。一旦所有的标签被存储后,数据库就必须得到恢复,然后放到网上。
一旦所有的数据库都已放在网上,所有需要访问数据库的应用程序就需要改变自身的链接。如果你不能将应用程序尽快指向刚刚恢复的数据库,你就前功尽弃了。
一个SQL Server的实例能用于监控日志转移。这个实例可以在原始数据库、备份数据库或单独的数据库中。任何一种版本的SQL Server都能用于SQL Server监控。
注释:数据库登录必须在原始数据库与备份数据库之间同时进行。
;Ⅶ 请教sql server做过完整备份和日志备份,还需要做差异备份吗
1.差异备份是以上一个全备为基点,这个期间所有差异数据的备份。
2.日志备份是基于前一个全备+日志备份为基点,这个期间的事务日志的备份。
3.在利用全备+日志备份时,需要有序并逐个还原所有日志备份。假设要还原周六的数据,则需要上周日的全备和周一到周六的所有日志备份才可以。如果有每天的差异备份,则只需要周日的全备+周五的差异备份+周六的日志备份即可。这样还原起来方便快捷,节省时间成本。
Ⅷ sql server2000 如何备份数据库的事务日志
在要备份的数据库名称上点右键,选所有任务,然后点击数据库备份就搞定了,若还想将备份原件移到别的存储区,先将滑凯服务管理器点击停止运行,然后进哪顷c=>program files=>sql server=>李让陆mssql=>data=>选中数据库的主文件和日志文件复制粘贴即可!
Ⅸ 如何备份事务日志 (SQL Server Management Studio)
若要备份日志尾部(即活动的日志),请选中 “备份日志尾部,并使数据库处于还原状态”。 备份日志尾部失败后执行尾日志备份,以防丢失所做的工作。在失败之后且在开始还原数据库之前,或者在故障转移到轮核察辅助数据库时,备份活动日志(尾日志备份)。选择氏敏此选项等效于在 Transact-SQL BACKUP LOG 语句中指定 NORECOVERY 选项。有关尾日志备份的详细信息,请参腊茄阅尾日志备份。
Ⅹ sql server需要做日志备份吗
请按步骤进行,未进行前面的步骤,请不要做后面的步骤
否则可能损坏你的数据库.
一般不建议做第4,6两步
第4步不安全,有可能损坏数据库或丢失数据
第6步如果日志达到上限,则以后虚源的数据库处理会失败,在清理日志后才能恢复.
--*/
--下面的所有库名都指你要处理的数据库的库名
1.清空日志
DUMP TRANSACTION 库好庆名 WITH NO_LOG
2.截断事务日志:
BACKUP LOG 库名 WITH NO_LOG
3.收缩数据库文件(如果不压缩,数据库的文件不会减小
企业管理器--右键你要压缩的数据库--所有任务--收缩数据库--收缩文件
--选择日志文件--在收缩方式里选择收缩至XXM,这里会给出一个允许收缩到的最小M数,直接输入这个数,确定就可以了
--选择数据文件--在收缩方式里选择收缩至XXM,这里会给出一个允许收缩到的最小M数,直接输入这个数,确定就可以了
也可以用SQL语句来完成
--收缩数据库
DBCC SHRINKDATABASE(库名)
--收缩指定数据文件,1是文件号,可以通过这个语句查询到:select * from sysfiles
DBCC SHRINKFILE(1)
4.为了最大化的缩小日志文件(如果是sql 7.0,这步只能在查询分析器中进行)
a.分离数据库:
企业管理器--服务器--数据库--右键--分离数据库
b.在友誉握我的电脑中删除LOG文件
c.附加数据库:
企业管理器--服务器--数据库--右键--附加数据库
此法将生成新的LOG,大小只有500多K
或用代码:
下面的示例分离 pubs,然后将 pubs 中的一个文件附加到当前服务器。
a.分离
EXEC sp_detach_db @dbname = '库名'
b.删除日志文件
c.再附加
EXEC sp_attach_single_file_db @dbname = '库名',
@physname = 'c:\Program Files\Microsoft SQL Server\MSSQL\Data\库名.mdf'
5.为了以后能自动收缩,做如下设置:
企业管理器--服务器--右键数据库--属性--选项--选择"自动收缩"
--SQL语句设置方式:
EXEC sp_dboption '库名', 'autoshrink', 'TRUE'
6.如果想以后不让它日志增长得太大
企业管理器--服务器--右键数据库--属性--事务日志
--将文件增长限制为xM(x是你允许的最大数据文件大小)
--SQL语句的设置方式:
alter database 库名 modify file(name=逻辑文件名,maxsize=20)