当前位置:  数据库>sqlserver

sql server 2008数据库日常维护常用脚本

    来源: 互联网  发布时间:2014-08-29

    本文导语:  说明:backup语句和dump语句已经在sql server 2008里面消失了,另外还有些经常用到的语句也已经不在sql server 2008中使用了,大家在学习时,要多加注意哦。 1、 数据库备份:   代码如下: declare @sql varchar(8000) set @sql='backup database sm...

说明:backup语句和dump语句已经在sql server 2008里面消失了,另外还有些经常用到的语句也已经不在sql server 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_cndshell默认该组件会被阻止,需要先启用它才可正常操作:使用如下语句将其启用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
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

    
 
 

您可能感兴趣的文章:

  • t-sql/mssql用命令行导入数据脚本的SQL语句示例
  • SQL Server统计SQL语句执行时间的脚本
  • Shell脚本调用Sql脚本并向其中传递变量
  • PHP的SQL封装脚本 TbsSQL
  • 求助:linux脚本语言写SQL语句
  • 查询SQL Server中所有数据库的数据文件位置的sql脚本
  • mysql下怎样运行脚本以运行niuzi.sql为例
  • 怎么写一个Shell来执行这样的功能,访问Oracle数据库,然后执行一个SQL脚本,生成一个文件。急!
  • shell 执行oracle sql脚本的问题
  • SQL脚本中注释引起的奇怪问题的解决方法
  • 用来还原数据库的sql脚本
  • 简单的SQL Server备份脚本代码
  • oracle使用sql脚本生成csv文件案例学习
  • Sql Server 创建数据库脚本Create DATABASE
  • linux下如何将sql语句写为脚本
  • 解决在SQL脚本中的注释引起的奇怪问题
  • sql分类汇总及Select的自增长脚本
  • Shell脚本读文件运行SQL,然后写出结果。
  • 检验SQL Server备份的脚本
  • 一段脚本实现自动备份并保存最近几天的SQL数据库
  • sql server 2005 三个常用的小sql
  • access与sql server几个常用函数的区别(图文)
  • T-SQL常用的聚合函数
  • oracle 常用的几个SQL
  • T-SQL常用的数学函数
  • Oracle 常用的SQL语句
  • SQL 提权 常用命令
  • sql server 常用的几个数据类型
  • T-SQL常用的元数据函数
  • T-SQL常用游标函数实例学习
  • T-SQL常用的时间和日期函数
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • sql server 2005维护计划无法删除怎么办呢?
  • sql server维护计划自动备份数据库作业执行失败会自动生成abc82作业的解决办法
  • SQL Server 索引维护sql语句
  • SQL Server DBA维护常用语句
  • java命名空间java.sql接口statement的类成员方法: executeupdate定义及介绍
  • 请问,这是什么错误!java.sql.SQLException: [Microsoft][ODBC SQL Server Driver][Named Pipes]??????? SQL Server?虽然分少,但一定给,只要您是前5名回复者中最好的以为!
  • java命名空间java.sql接口connection的类成员方法: nativesql定义及介绍
  • SQL查询分析工具 SQL Workbench/J
  • java命名空间java.sql接口preparedstatement的类成员方法: executeupdate定义及介绍
  • oracle导出sql语句的结果集和保存执行的sql语句(深入分析)
  • java命名空间java.sql接口rowid的类成员方法: getbytes定义及介绍
  • SQL客户端软件 PKLite SQL Client
  • java命名空间java.sql接口ref的类成员方法: getbasetypename定义及介绍
  • SQL语句实现SQL Server 2000及Sql Server 2005日志收缩(批量)
  • java命名空间java.sql接口databasemetadata的类成员方法: getsqlkeywords定义及介绍
  • SQL客户端管理工具 SQuirreL SQL Client
  • java命名空间java.sql接口rowid的类成员方法: tostring定义及介绍
  • 如何处理此错误:java.sql.SQLException: [Microsoft][ODBC SQL Server Driver]没有执行可选特性
  • java命名空间javax.sql.rowset接口joinrowset的类成员方法: getwhereclause定义及介绍
  • sql2005 大数据量检索分页的sql代码
  • java命名空间java.sql接口statement的类成员方法: execute定义及介绍
  • 如何实现连接一次数据库,提交多个sql语句。(sql的批处理)
  • java命名空间java.sql接口resultset的类成员方法: getcursorname定义及介绍
  • 微软网站下载的Ms SQL Server2000 JDBC Driver,必须用英文版的SQL server2000吗?
  • java命名空间java.sql接口resultsetmetadata的类成员方法: getcolumntype定义及介绍
  • 安装SQL2008时提示删除SQL2005Express工具的解决方法


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3