马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
先说DDL的分类。有一类DDL,是不需要重建表的,比如加非聚簇索引。这类操作其实不会丢数据,也是在原表上直接操作,对于我们“以恢复数据为目的”的闪回,是可以先忽略的。另外一类,则是会影响到表数据的操作。1.一个月第一天的
SELECTDATEADD(mm,DATEDIFF(mm,0,getdate()),0)
2.本周的礼拜一
SELECTDATEADD(wk,DATEDIFF(wk,0,getdate()),0)
3.一年的第一天
SELECTDATEADD(yy,DATEDIFF(yy,0,getdate()),0)
4.季度的第一天
SELECTDATEADD(qq,DATEDIFF(qq,0,getdate()),0)
5.当天的三更
SELECTDATEADD(dd,DATEDIFF(dd,0,getdate()),0)
6.上个月的最初一天
SELECTdateadd(ms,-3,DATEADD(mm,DATEDIFF(mm,0,getdate()),0))
7.客岁的最初一天
SELECTdateadd(ms,-3,DATEADD(yy,DATEDIFF(yy,0,getdate()),0))
8.本月的最初一天
SELECTdateadd(ms,-3,DATEADD(mm,DATEDIFF(m,0,getdate())+1,0))
9.今年的最初一天
SELECTdateadd(ms,-3,DATEADD(yy,DATEDIFF(yy,0,getdate())+1,0))
10.本月的第一个礼拜一
selectDATEADD(wk,DATEDIFF(wk,0,dateadd(dd,6-datepart(day,getdate()),getdate())),0)
因此我们的方案中要构造这种逆操作。Event_type增加一种FlashBACK_EVENT。这类操作形式与Query_Event相同,都是简单的SQL语句,只是包含了将数据恢复的操作。 |