zoukankan      html  css  js  c++  java
  • 数据库日常维护常用的脚本部分收录(转载)

          有些数据库语句可能平时用得不多,所以使用的时候总是难免上网查询,略嫌麻烦,今日在CSDN论坛看到有贴收录这些语句,就顺手牵羊copy了一份,本想copy了就结束了,但和部分朋友一样,真正用到它们的时候有时会发现难免会出错,于是,择日不如撞日,就在今天花点时间在SQL SERVER 2008中运行试试。之前并没怎么注意SQL2008的语法与之前版本的不同,因为常用的select等语句都一样,一直以为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 DISK=@str

      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

      先这些吧,貌似一般不用又相对比较常用~

  • 相关阅读:
    《Machine Learning in Action》—— 白话贝叶斯,“恰瓜群众”应该恰好瓜还是恰坏瓜
    《Machine Learning in Action》—— 女同学问Taoye,KNN应该怎么玩才能通关
    《Machine Learning in Action》—— Taoye给你讲讲决策树到底是支什么“鬼”
    深度学习炼丹术 —— Taoye不讲码德,又水文了,居然写感知器这么简单的内容
    《Machine Learning in Action》—— 浅谈线性回归的那些事
    《Machine Learning in Action》—— 懂的都懂,不懂的也能懂。非线性支持向量机
    《Machine Learning in Action》—— hao朋友,快来玩啊,决策树呦
    《Machine Learning in Action》—— 剖析支持向量机,优化SMO
    《Machine Learning in Action》—— 剖析支持向量机,单手狂撕线性SVM
    JVM 字节码指令
  • 原文地址:https://www.cnblogs.com/invinboy/p/2044532.html
Copyright © 2011-2022 走看看