sql 2005 中用java process waitforr delay 附加一个数据库

SQL2005 有日志的完全备份的文件,怎么进行数据恢复?请 - Sql Server当前位置:& &&&SQL2005 有日志的完全备份的文件,怎么进行数据恢复?SQL2005 有日志的完全备份的文件,怎么进行数据恢复?请&&网友分享于:&&浏览:9次SQL2005 有日志的完全备份的文件,如何进行数据恢复?请高手指点SQL2005当中我在数据库维护计划创建一个每周一次的数据库完全备份;每天一次的日志全备份,假如我先采用数据库的完全备份文件进行还原之后,如何采用日志的全备份文件再进行恢复到某一个时间点上数据;或者采用两个文件结合进行数据库的还原.------解决方案--------------------SQL code
--创建测试数据库
CREATE DATABASE Db
--对数据库进行备份
BACKUP DATABASE Db TO DISK='c:\db.bak' WITH FORMAT
--创建测试表
CREATE TABLE Db.dbo.TB_test(ID int)
--延时1秒钟,再进行后面的操作(这是由于SQL Server的时间精度最大为百分之三秒,不延时的话,可能会导致还原到时间点的操作失败)
WAITFOR DELAY '00:00:01'
--假设我们现在误操作删除了 Db.dbo.TB_test 这个表
DROP TABLE Db.dbo.TB_test
--保存删除表的时间
SELECT dt=GETDATE() INTO #
--在删除操作后,发现不应该删除表 Db.dbo.TB_test
--下面演示了如何恢复这个误删除的表 Db.dbo.TB_test
--首先,备份事务日志(使用事务日志才能还原到指定的时间点)
BACKUP LOG Db TO DISK='c:\db_log.bak' WITH FORMAT
--接下来,我们要先还原完全备份(还原日志必须在还原完全备份的基础上进行)
RESTORE DATABASE Db FROM DISK='c:\db.bak' WITH REPLACE,NORECOVERY
--将事务日志还原到删除操作前(这里的时间对应上面的删除时间,并比删除时间略早
DECLARE @dt datetime
SELECT @dt=DATEADD(ms,-20,dt) FROM #
--获取比表被删除的时间略早的时间
RESTORE LOG Db FROM DISK='c:\db_log.bak' WITH RECOVERY,STOPAT=@dt
--查询一下,看表是否恢复
SELECT * FROM Db.dbo.TB_test
-----------
(所影响的行数为 0 行)
--测试成功
--最后删除我们做的测试环境
DROP DATABASE Db
DROP TABLE #
------解决方案--------------------引用楼主 chhx0 的帖子:SQL2005当中我在数据库维护计划创建一个每周一次的数据库完全备份;每天一次的日志全备份,假如我先采用数据库的完全备份文件进行还原之后,如何采用日志的全备份文件再进行恢复到某一个时间点上数据;或者采用两个文件结合进行数据库的还原.
------解决方案--------------------帮顶了。提醒:注意数据库正在还原状态的处理。
------解决方案--------------------mark
------解决方案--------------------谢谢
------解决方案--------------------SQL code
restore database d3 from bak3 with file=1,norecovery
--恢复到指定时间
restore log
d3 from bak3 with file=2,norecovery
restore log
d3 from bak3 with file=3,norecovery
restore log
d3 from bak3 with file=4,recovery,stopat=' 11:29:00.000'
12345678910
12345678910
12345678910 上一篇:下一篇:文章评论相关解决方案 12345678910 Copyright & &&版权所有您所在的位置: &
SQL Server 2008中SQL增强之WaitFor命令详解
SQL Server 2008中SQL增强之WaitFor命令详解
本文我们主要介绍了SQL Server 2008中SQL增强之WaitFor命令的使用,并给出了详细的代码示例加以说明,希望能够对您有所帮助。
上次我们介绍了:,本文我们主要介绍一下SQL Server 2008中SQL增强之WaitFor命令的使用,接下来我们就开始介绍。
在SQL Server 2005以上版本中,在一个增强的WaitFor命令,其作用可以和一个job相当。但使用更加简捷。
看MSDN:/zh-cn/library/ms187331.aspx
WAITFOR& &{ &DELAY&'time_to_pass'& &|&TIME&'time_to_execute'& &|&[&(&receive_statement&)&|&(&get_conversation_group_statement&)&]& &[&,&TIMEOUT&timeout&] &}&
以下示例在晚上 10:20 (22:20) 执行存储过程sp_update_job。
USE& &EXECUTE&sp_add_job&@job_name&=&'TestJob'; &BEGIN &WAITFOR&TIME&'22:20'; &EXECUTE&sp_update_job&@job_name&=&'TestJob', &@new_name&=&'UpdatedJob'; &END; &GO&
以下示例在两小时的延迟后执行存储过程。注意:Delay最多不超过24小时
BEGIN &WAITFOR&DELAY&'02:00'; &EXECUTE&sp_ &END; &GO&
以下示例显示如何对 WAITFOR DELAY 选项使用局部变量。将创建一个存储过程,该过程将等待可变的时间段,然后将经过的小时、分钟和秒数信息返回给用户。
USE&AdventureWorks2008R2; &GO &IF&OBJECT_ID('dbo.TimeDelay_hh_mm_ss','P')&IS&NOT&NULL &DROP&PROCEDURE&dbo.TimeDelay_hh_mm_ &GO &CREATE&PROCEDURE&dbo.TimeDelay_hh_mm_ss& &( &@DelayLength&char(8)=&'00:00:00' &) &AS &DECLARE&@ReturnInfo&varchar(255) &IF&ISDATE('&'&+&@DelayLength&+&'.000')&=&0 &BEGIN &SELECT&@ReturnInfo&=&'Invalid&time&'&+&@DelayLength& &+&',hh:mm:ss,&submitted.'; &--&This&PRINT&statement&is&for&testing,&not&use&in&production. &PRINT&@ReturnInfo& &RETURN(1) &END &BEGIN &WAITFOR&DELAY&@DelayLength &SELECT&@ReturnInfo&=&'A&total&time&of&'&+&@DelayLength&+&',& &hh:mm:ss,&has&elapsed!&Your&time&is&up.' &--&This&PRINT&statement&is&for&testing,&not&use&in&production. &PRINT&@ReturnI &END; &GO &/*&This&statement&executes&the&dbo.TimeDelay_hh_mm_ss&procedure.&*/ &EXEC&TimeDelay_hh_mm_ss&'00:00:10'; &GO&
执行结果:
A total time of 00:00:10, in hh:mm:ss, has elapsed.Your time is up.
小结:这是一种轻巧的解决方案。当你没有权限指定job时,可以考虑用WaitFor语句。
关于SQL Server 2008中SQL增强之WaitFor命令的相关知识就介绍到这里了,希望本次的介绍能够对您有所收获!
【编辑推荐】
【责任编辑: TEL:(010)】
关于&&的更多文章
SQL Server 2008提供了全民啊行的空间支持,但同时空间分析是一
数据库产品
数据库综合
数据库新闻
维基百科将切换到另外一款开源数据库MariaDB
也许你不需要了解SQL Server的内部机制,你照样能完成
本专题与大家共同讨论与分享ORACLE SQL的一些常用经典
这条路,有人说是一条不归路,走上来了,就要勇敢的走
本书是以一个典型的计算机广域网通信为背景进行编写的,详细、全面地介绍了通信网中最主要的两个部分:目前,国内外接入网与交换
51CTO旗下网站开发/数据库
软件与服务//
如何恢复SQL2005误删除的数据
  由于同事写错作业脚本,导致昨天晚上系统当中一张重要表的大概2万数据被删除。早上发现时的情况是,半夜(误操作之后)备份过数据,昨天的备份已经被新的备份取代而且没有日志备份..貌似这个策略不太合理。这个结果就是,没有误操作之前的全库备份,无法通过RESTORE LOG 来恢复。
  但是备份后没有清除日志,这个给恢复留了最后一丝希望。最后只能寄希望于Log Explorer。据我所知的是Log Explorer不支持SQL2005,以前在2000下我还翻译过他的英文文档,参考http://blog.csdn.net/jinjazz/archive//2459692.aspx
  通过google,发现最新版的是可以用在SQL2005下的,但是很少有下载,还好有csdn.. http://download.csdn.net/source/467751。
  最终还是顺利恢复了这批数据。另外还有两篇介绍如何使用sql日志的文章可以参考。
  11.3.5&数据还原到指定时间点的处理示例.sql   --创建测试数据库   CREATE&DATABASE&Db   GO   --对数据库进行备份   BACKUP&DATABASE&Db&TO&DISK='c:db.bak'&WITH&FORMAT   GO   --创建测试表   CREATE&TABLE&Db.dbo.TB_test(ID&int)   --延时1秒钟,再进行后面的操作(这是由于SQL&Server的时间精度最大为百分之三秒,不延时的话,可能会导致还原到时间点的操作失败)   WAITFOR&DELAY&'00:00:01'   GO   --假设我们现在误操作删除了&Db.dbo.TB_test&这个表   DROP&TABLE&Db.dbo.TB_test   --保存删除表的时间   SELECT&dt=GETDATE()&INTO&#   GO   --在删除操作后,发现不应该删除表&Db.dbo.TB_test   --下面演示了如何恢复这个误删除的表&Db.dbo.TB_test   --首先,备份事务日志(使用事务日志才能还原到指定的时间点)   BACKUP&LOG&Db&TO&DISK='c:db_log.bak'&WITH&FORMAT   GO   --接下来,我们要先还原完全备份(还原日志必须在还原完全备份的基础上进行)   RESTORE&DATABASE&Db&FROM&DISK='c:db.bak'&WITH&REPLACE,NORECOVERY   GO   --将事务日志还原到删除操作前(这里的时间对应上面的删除时间,并比删除时间略早   DECLARE&@dt&datetime   SELECT&@dt=DATEADD(ms,-20,dt)&FROM&# --获取比表被删除的时间略早的时间   RESTORE&LOG&Db&FROM&DISK='c:db_log.bak'&WITH&RECOVERY,STOPAT=@dt   GO   --查询一下,看表是否恢复   SELECT&*&FROM&Db.dbo.TB_test   /*--结果:   ID   -----------   (所影响的行数为&0&行)   --*/   --测试成功   GO   --最后删除我们做的测试环境   DROP&DATABASE&Db   DROP&TABLE&#
关键词: 技巧
责任编辑:陈子琪
All Rights Reserved, Copyright , .cn渝ICP证B2-号 如有意见请与我们联系 powered by 天极内容管理平台CMS4i
京公网安备84号投诉建议、广告投放、友情链接,联系QQ:
SQL Server WAITFOR Delay 使用变量问题解决办法
Loading...
今天在使用SQL Server2008 WAITFOR Delay 出现了一些问题,下面我来介绍在使用WAITFOR Delay变量问题解决办法 sql server2008帮助中, 有一段WAITFOR Delay 的示例, 是错误的!!!
USE AdventureW
IF OBJECT_ID('dbo.TimeDelay_hh_mm_ss','P') IS NOT NULL
&&& DROP PROCEDURE dbo.TimeDelay_hh_mm_
CREATE PROCEDURE dbo.TimeDelay_hh_mm_ss
&&& @DelayLength char(8)= '00:00:00'
DECLARE @ReturnInfo varchar(255)
IF ISDATE(' ' + @DelayLength + '.000') = 0
&&&&&&& SELECT @ReturnInfo = 'Invalid time ' + @DelayLength
&&&&&&& + ',hh:mm:ss, submitted.';
&&&&&&& -- This PRINT statement is for testing, not use in production.
&&&&&&& PRINT @ReturnInfo
&&&&&&& RETURN(1)
&&& WAITFOR DELAY @DelayLength
&&& SELECT @ReturnInfo = 'A total time of ' + @DelayLength + ',
&&&&&&& hh:mm:ss, has elapsed! Your time is up.'
&&& -- This PRINT statement is for testing, not use in production.
&&& PRINT @ReturnI
/* This statement executes the dbo.TimeDelay_hh_mm_ss procedure. */
EXEC TimeDelay_hh_mm_ss '00:00:10';
按照以上代码运行,会报错
Msg 241, Level 16, State 1, Line 4
Conversion failed when converting date and/or time from character string.
(Note that the error is on the WAITFOR line.)
用time变量类型也不行!!!
set @t = '00:00:01';
waitfor delay @t;
Actual Results
Msg 241, Level 16, State 1, Line 4
Conversion failed when converting date and/or time from character string.
(Note that the error is on the WAITFOR line.)
如果直接用常量,没有问题。通过!!
WAITFOR DELAY &00:00:10&
如果非要用变量,只能这样写,要定义为datatime类型,然后随便用一个日期,在后跟你需要延迟的时间:
set @t = ' 00:00:60'; --延迟60秒
waitfor delay @t;
上面代码中的
没有任何实际意义,可以用任何日期。但是日期是必须的。
如果你写成如下,
set @t = '00:00:60'; --延迟60秒
waitfor delay @t;
编译和运行不会报错,但他不会延迟所规定的时间(60秒),也就是无延迟马上执行下一句。.原因不详,也许是SQL server的bug。
---------------------------------------
Steps to Reproduce
waitfor delay @t;
set @t = '00:00:01';
waitfor delay @t;
Actual Results
Msg 241, Level 16, State 1, Line 4
Conversion failed when converting date and/or time from character string.
(Note that the error is on the WAITFOR line.)
Expected Results
At least a better error. The user has not supplied a character string, so the error should not mention character strings.
Ideally, these should work just like they do with datetime. The [time] type is a natural choice for WAITFOR DELAY.
The documentation doesn't help too much. While it suggests using [datetime] instead of [time], it says confusingly that &Dates therefore, the date part of the datetime value is not allowed.& However, this works:
set @t = '';
waitfor delay @t;
IT技术书籍推荐:
疯狂Android讲义(第3版)
李刚 (作者)
移动互联网已经成为当今世界发展最快、市场潜力最大、前景最诱人的业务,而Android则是移动互联网上市场占有率最高的平台。
本书是《疯狂Android讲义》的第3版,本书基于最新的Android 5,并采用了Google推荐的IDE:Android Studio作为开发工具,书中每个案例、每个截图都全面升级到Android 5。本书全面介绍了Android应用开发的相关知识,全书内容覆盖了Android用户界面编程、Android四大组件、Android资源访问、图形/图像处理、事件处理机制、Android输入/输出处理、音频/视频多媒体应用开发、OpenGL与3D应用开发、网络通信编程、Android平台的Web Service、传感器应用开发、GPS应用开发、整合第三方Map服务等。
相关推荐:1、2、3、4、5、6、7、8、9、10、
随机关键词:
正在加载...}

我要回帖

更多关于 java waitfor 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信