最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

sql2008数据库日常维护脚本记录

来源:动视网 责编:小采 时间:2020-11-09 10:01:17
文档

sql2008数据库日常维护脚本记录

sql2008数据库日常维护脚本记录:今天花点时间在SQL SERVER 2008中运行试试。之前并没怎么注意SQL2008的语法与之前版本的不同,因为常用的等语句都一样,一直以为2008应该与2005的版本几乎无差。不料这一试,果然试出了问题,这才发现,以前从书本上见过的backup语句和dump语句已经在
推荐度:
导读sql2008数据库日常维护脚本记录:今天花点时间在SQL SERVER 2008中运行试试。之前并没怎么注意SQL2008的语法与之前版本的不同,因为常用的等语句都一样,一直以为2008应该与2005的版本几乎无差。不料这一试,果然试出了问题,这才发现,以前从书本上见过的backup语句和dump语句已经在


今天花点时间在SQL SERVER 2008中运行试试。之前并没怎么注意SQL2008的语法与之前版本的不同,因为常用的等语句都一样,一直以为2008应该与2005的版本几乎无差。不料这一试,果然试出了问题,这才发现,以前从书本上见过的backup语句和dump语句已经在2008里面消失了……

废话不多说,把收录的语句及备注贴上来,便于以后查询使用~~

1、 备份操作:

  declare @sql varchar(8000)

  set @sql='backup database smallerp to disk=''d:'+RTRIM(CONVERT(varchar,getdate(),112))+'.bak'''

  exec(@sql);(备注:引号不可缺少任意一个,否则会报错)

2、 删除5天前的备份文件:

  declare @sql varchar(8000)

  set @sql='del d:'+RTRIM(CONVERT(varchar,getdate()-5,112))+'.bak'''

  exec master..xp_cmdshell @sql;(备注:xp_cmdshell默认该组件会被阻止,需要先启用它才可正常操作:使用如下语句将其启用EXEC sp_configure 'show advanced   options', 1;RECONFIGURE;EXEC sp_configure 'xp_cmdshell', 1;RECONFIGURE;)

3、 收缩数据库语句:

  dump transaction smallerp with no_log;(备注:这句话中会提示transaction附近有语法错误,原来在SQL2008中已经不再使用此法来收缩数据库了。而使用:alter,   使用方法如下:alter database smallerp set recovery simple

       alter database smallerp set recovery full

       dbcc shrinkdatabase(smallerp,0);)

  backup log smallerp with no_log;(备注:这句话执行的时候会报错:此语句不支持一个或多个选项(no_log),原因也是因为SQL2008已经不再支持这种写法了。)

4、 查看数据库里活动用户和进程信息:

  sp_who 'active';(备注:如果只是这么写的话会提示sp_who附近有语法错误,但执行的时候可以查到数据,如果在前面加一个exec,则不再提示错误。且1—50的进程号   为SQL SERVER系统内部用的,只有大于50的进程号才是用户的连接进程。spid是进程号,dbid是数据库编号,objid是数据对象编号)

5、 查看数据库里用户和进程信息:

  Exec sp_who;

6、 查看数据库里的锁情况:

  Exec sp_lock;

7、 分析SQL SERVER里sql语句的方法:

  set statistics time {on | off}(写语句的时候只需要写明是on或者off即可)

  set statistics io {on | off}

8、 文本方式显示查询执行计划:

  set showplan_all {on | off}

  set showplan_text { on | off }

  set statistics profile { on | off }

9、 差异备份:

  declare @str varchar(100)

  set @str='D:'+replace(replace(replace(convert(varchar,getdate(),20),'-',''),' ',''),':','')+'.diff'

  BACKUP DATABASE smallerp TO

  WITH DIFFERENTIAL,RETAINDAYS=8,NOFORMAT,NOINIT,

  NAME=N'Demo差异备份',SKIP,NOREWIND,

  NOUNLOAD,STATS=10

  GO

10、 删除过期的备份文件,并设定每天两次:

  declare @str varchar(100),@dir varchar(100),@fileName varchar(30)

  set @dir='del D: '

  set @filename=left(replace(replace(replace(convert(varchar,getdate()-15,20),'-',''),' ',''),':',''),8)

  set @str=@dir+'fullbak'+@filename+'*.bak'

  exec xp_cmdshell @str

  set @filename=left(replace(replace(replace(convert(varchar,getdate()-8,20),'-',''),' ',''),':',''),8)

  set @str=@dir+'diffbak'+@filename+'*.diff'

  exec xp_cmdshell @str

  set @filename=left(replace(replace(replace(convert(varchar,getdate()-8,20),'-',''),' ',''),':',''),8)

  set @str=@dir+'logbak'+@filename+'*.trn'

  exec xp_cmdshell @str

文档

sql2008数据库日常维护脚本记录

sql2008数据库日常维护脚本记录:今天花点时间在SQL SERVER 2008中运行试试。之前并没怎么注意SQL2008的语法与之前版本的不同,因为常用的等语句都一样,一直以为2008应该与2005的版本几乎无差。不料这一试,果然试出了问题,这才发现,以前从书本上见过的backup语句和dump语句已经在
推荐度:
标签: 数据库 脚本 sql
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top