现在的位置: 首页 > 数据库 > 正文

数据库日常维护常用的脚本语句有哪些

2020年05月06日 数据库 ⁄ 共 2173字 ⁄ 字号 评论关闭

  有些数据库语句可能平时用得不多,所以使用的时候总是难免上网查询,略嫌麻烦。下面学步园小编来讲解下数据库日常维护常用的脚本语句有哪些?

  数据库日常维护常用的脚本语句有哪些

  1、数据库备份操作:

  declare@sqlvarchar(8000)set@sql='backupdatabasesmallerptodisk=''d:\'+RTRIM(CONVERT(varchar,getdate(),112))+'.bak'''exec(@sql);(备注:引号不可缺少任意一个,否则会报错)

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

  declare@sqlvarchar(8000)set@sql='deld:\'+RTRIM(CONVERT(varchar,getdate()-5,112))+'.bak'''execmaster..xp_cmdshell@sql;(备注:xp_cndshell默认该组件会被阻止,需要先启用它才可正常操作:使用如下语句将其启用EXECsp_configure'showadvancedoptions',1;RECONFIGURE;EXECsp_configure'xp_cmdshell',1;RECONFIGURE;)

  3、收缩数据库语句:

  dumptransactionsmallerpwithno_log;(备注:这句话中会提示transaction附近有语法错误,原来在SQL2008中已经不再使用此法来收缩数据库了。而使用:alter,使用方法如下:alterdatabasesmallerpsetrecoverysimpledbccshrinkdatabase(smallerp,0);)backuplogsmallerpwithno_log;(备注:这句话执行的时候会报错:此语句不支持一个或多个选项(no_log),原因也是因为SQL2008已经不再支持这种写法了。)

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

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

  数据库日常维护常用的脚本语句有哪些

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

  Execsp_who;

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

  Execsp_lock;

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

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

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

  setshowplan_all{on|off}setshowplan_text{on|off}setstatisticsprofile{on|off}

  9、差异备份:

  declare@strvarchar(100)set@str='D:\'+replace(replace(replace(convert(varchar,getdate(),20),'-',''),'',''),':','')+'.diff'BACKUPDATABASEsmallerpTODISK=@strWITHDIFFERENTIAL,RETAINDAYS=8,NOFORMAT,NOINIT,NAME=N'Demo差异备份',SKIP,NOREWIND,NOUNLOAD,STATS=10GO

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

  declare@strvarchar(100),@dirvarchar(100),@fileNamevarchar(30)set@dir='delD:\'set@filename=left(replace(replace(replace(convert(varchar,getdate()-15,20),'-',''),'',''),':',''),8)set@str=@dir+'fullbak'+@filename+'*.bak'execxp_cmdshell@strset@filename=left(replace(replace(replace(convert(varchar,getdate()-8,20),'-',''),'',''),':',''),8)set@str=@dir+'diffbak'+@filename+'*.diff'execxp_cmdshell@strset@filename=left(replace(replace(replace(convert(varchar,getdate()-8,20),'-',''),'',''),':',''),8)set@str=@dir+'logbak'+@filename+'*.trn'execxp_cmdshell@str

  以上就是关于“数据库日常维护常用的脚本语句有哪些”的内容,希望对大家有用。更多资讯请关注学步园。学步园,您学习IT技术的优质平台!

抱歉!评论已关闭.