sqlserver2008怎么创建删除数据库备份数据计划(sqlserver维护计划备份数据库)

sqlserver2008怎么创建删除数据库备份数据计划(sqlserver维护计划备份数据库),第1张

利用任务计划、批处理文件和ORACLE的EXP导出功能,可以根据日期自动生成ORACLE备份文件,大大方便了ORACLE数据备份。

建议一(做周备份并压缩为RAR)以下为ORACLE自动备份批处理文件内容,请配合任务计划实现:

例:

@ECHOOFF

SETBACKPATH=d:

ECHO准备备份数据库

REM7天一个循环

IFEXIST%BACKPATH%ONEGOTOONE

IFEXIST%BACKPATH%TWOGOTOTWO

IFEXIST%BACKPATH%THREEGOTOTHREE

IFEXIST%BACKPATH%FOURGOTOFOUR

IFEXIST%BACKPATH%FIVEGOTOFIVE

IFEXIST%BACKPATH%SIXGOTOSIX

IFEXIST%BACKPATH%SEVENGOTOSEVEN

ECHOE

:ONE

SETBACKPATH_FULL=%BACKPATH%ONE

REN%BACKPATH%ONETWO

GOTOBACK

:TWO

SETBACKPATH_FULL=%BACKPATH%TWO

REN%BACKPATH%TWOTHREE

GOTOBACK

:THREE

SETBACKPATH_FULL=%BACKPATH%THREE

REN%BACKPATH%THREEFOUR

GOTOBACK

:FOUR

SETBACKPATH_FULL=%BACKPATH%FOUR

REN%BACKPATH%FOURFIVE

GOTOBACK

:FIVE

SETBACKPATH_FULL=%BACKPATH%FIVE

REN%BACKPATH%FIVESIX

GOTOBACK

:SIX

SETBACKPATH_FULL=%BACKPATH%SIX

REN%BACKPATH%SIXSEVEN

GOTOBACK

:SEVEN

SETBACKPATH_FULL=%BACKPATH%SEVEN

REN%BACKPATH%SEVENONE

GOTOBACK

:BACK

EXPense/enseFILE=%BACKPATH_FULL%DMP

RARa%BACKPATH_FULL%rar%BACKPATH_FULL%DMP

DEL%BACKPATH_FULL%DMP

SETBACKPATH=

SETBACKPATH_FULL=

EXIT

说明:

文件名以星期来命名

备份后调用rar进行压缩

这样可以保存一个星期的历史数据

注意:需要把programfiles/winrar目录下的rarexe拷贝到系统system32目录下

建议二:

1,批处理文件backupbat

expsystem/managerfile=d:ackuporacleoracle%date:~0,10%dmpowner=systemlog=d:ackuporacleoracle%date:~0,10%log

将生成oracle2006-01-09dmp文件

expsystem/managerfile=d:ackuporacleoracle%date:~11,3%dmpowner=systemlog=d:ackuporacleoracle%date:~11,3%log

将生成oracle星期一dmp文件,则每周循环保留一个备份文件,共7个备份文件循环$date$日期参数可灵活运用。

请采用下列脚本

/删除索引/

declare @table table  (keyId int identity,name1 varchar(100),name2 varchar(100))

insert into @table(name1,name2)

 select object_name(object_id),name from sysindexes where name like 'IDX%'  

declare @i    int 

declare @imax int 

declare @name1 varchar(100)

declare @name2 varchar(100)

set @i =1 

select @imax = max(keyId) from @table t 

while @i <=@imax

begin

set @name1 =''

set @name2 ='' 

select @name1  = name1,@name2=name2 from @table t where tkeyId =@i

print 'drop index ['+@name2 +'] on table ['+@name1+'] '

 ---exec  ('drop index '+@name2 +' on table '+@name1  )  

 

  

set @i =@i+1 

end

go

declare @table table(keyId int identity,name varchar(100))

insert into @table (name) select name from systables where type='u'

/修理表结构/

declare @i    int 

declare @imax int 

declare @name varchar(100)

set @i =1 

select @imax = max(keyId) from @table t 

while @i <=@imax

begin

set @name =''

select @name  = name from @table t where tkeyId =@i

 

print 'alter table ['+@name +'] drop column [_MASK_FROM_V2]'

--exec ('alter table '+@name +' drop column [_MASK_FROM_V2]')

 

set @i =@i+1 

end

分两步 *** 作

1 删除索引

2 修改表结构

有疑问及时沟通。

先在测试机上 *** 作,请采纳!

以上就是关于sqlserver2008怎么创建删除数据库备份数据计划(sqlserver维护计划备份数据库)全部的内容,包括:sqlserver2008怎么创建删除数据库备份数据计划(sqlserver维护计划备份数据库)、Sqlserver2008删除索引问题、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/10195675.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-06
下一篇 2023-05-06

发表评论

登录后才能评论

评论列表(0条)

保存