sql 2008数据库日常维护脚本记录

今天花点时间在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

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/1835666.html

(0)
上一篇 2025年2月21日 21:53:50
下一篇 2025年2月21日 21:54:08

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • 使用replace属性来避免Composer的依赖冲突

                                                            下面由composer教程栏目带大家介绍使用replace属性来避免Composer的依赖冲突方法,希望对需要的朋友有所帮助! …

    编程技术 2025年3月13日
    200
  • es6 set是什么意思

    set的意思为“集合”,是ES6提供的新数据结构,类似于数组,但是成员的值都是唯一的,没有重复的值。Set对象允许用户存储任何类型的唯一值,无论是原始值或者是对象引用。 本教程操作环境:windows7系统、ECMAScript 6版、De…

    2025年3月11日
    200
  • es6的set和map的区别是什么

    区别:1、set指的是“集合”结构,而Map指的是“字典”结构;2、set是以“[value, value]”的形式储存元素,而Map是以“[key, value]”的形式储存;3、Map可用get()通过键查找特定值并返回,而set不行。…

    2025年3月11日
    200
  • Set是ES6的吗

    Set是ES6的新特性。Set是ES6新增的数据结构,是一种有序列表集合,类似于数组,但是其成员的值都是唯一的,没有重复的值;set的遍历顺序就是插入顺序,set保存的一个函数列表调用时,就是按照指定的顺序进行调用,因此set类型是有序的。…

    2025年3月11日
    200
  • es6的set集合怎么增加元素

    es6的set集合可以使用add()方法来增加元素。Set集合是一种数据结构,结构类似于数组,且没有重复的值;其内置的add()方法可以为集合添加元素,语法“set.add(值);”,添加完成后会返回Set结构本身。 本教程操作环境:win…

    2025年3月11日 编程技术
    200
  • Replace中的正则表达式使用详解

    这次给大家带来Replace中的正则表达式使用详解,使用Replace中正则表达式的注意事项有哪些,下面就是实战案例,一起来看一下。 replace:把原有的字符替换成新的字符 1. replace的字符串替换 var str = ‘pku…

    编程技术 2025年3月8日
    200
  • JS的正则replace搜索关键字高亮效果

    这次给大家带来JS的正则replace搜索关键字高亮效果,使用JS正则replace搜索关键字高亮效果的注意事项有哪些,下面就是实战案例,一起来看一下。 前言 正则表达式是字符串处理工具中强有力的工具.也有人认为这只是一个小玩具,但不管怎么…

    2025年3月8日
    400
  • 正则表达式的replace方法使用详解

    这次给大家带来正则表达式的replace方法使用详解,使用正则表达式的replace方法的注意事项有哪些,下面就是实战案例,一起来看一下。 replace方法是javascript涉及到正则表达式中较为复杂的一个方法,严格上说应该是stri…

    2025年3月8日
    200
  • replace函数使用详解

    这次给大家带来replace函数使用详解,replace函数使用的注意事项有哪些,下面就是实战案例,一起来看一下。 replace方法的语法是:stringObj.replace(rgExp, replaceText) 其中stringOb…

    编程技术 2025年3月8日
    200
  • javascript replace()第二个参数为函数时的参数用法(详细为大家解读)

    replace()函数具有替换功能,它可以具有两个参数,第一个参数可以是要被替换的字符串或者匹配要被替换字符串的正则表达式,第二个参数可以是替换文本或者一个函数,下面看一下关于replace()函数的几个代码实例 javascript的re…

    编程技术 2025年3月8日
    200

发表回复

登录后才能评论