原文出处:https://www.cnblogs.com/lyhabc/archive/2013/01/19/2867174.html

DBCC DROPCLEANBUFFERS:从缓冲池中删除所有缓存,清除缓冲区

在进行测试时,使用这个命令可以从SQLSERVER的数据缓存data cache(buffer)清除所有的测试数据,以保证测试的公正性。

需要注意的是这个命令只移走干净的缓存,不移走脏缓存。由于这个原因,在执行这个命令前,应该先执行CheckPoint,将所有脏的缓存写入磁盘,

这样在运行DBCC RROPCLEANBUFFERS 时,可以保证所有的数据缓存被清理,而不是其中的一部分。

DBCC CacheStats:显示存在于当前buffer Cache中的对象的信息,例如:hit rates,编译的对象和执行计划

DBCC ErrorLog :如果很少重启mssqlserver服务,那么服务器的日志(不是数据库事务日志)会增长得很快,而且打开和查看日志的速度也会很慢

使用这个命令,可以截断当前的服务器日志,主要是生成一个新的日志。可以考虑设置一个调度任务,每周执行这个命令自动截断服务器日志。

使用存储过程sp_cycle_errorlog也可以达到同样的目的


一、DBCC 帮助类命令

DBCC HELP('?') :查询所有的DBCC命令

DBCC HELP('命令') :查询指定的DBCC命令的语法说明

DBCC USEROPTIONS :返回当前连接的活动(设置)的SET选项


二、DBCC 检查验证类命令

DBCC CHECKALLOC('数据库名称') :检查指定数据库的磁盘空间分配结构的一致性

DBCC CHECKCATALOG ('数据库名称') :检查指定数据库的系统表内和系统表间的一致性

DBCC CHECKCONSTRAINTS ('tablename') :检查指定表上的指定约束或所有约束的完整性

DBCC CHECKDB :检查数据库中的所有对象的分配和结构完整性

DBCC CHECKFILEGROUP :检查指定文件组中所有表在当前数据库中的分配和结构完整性

DBCC CHECKTABLE :检查指定表或索引视图的数据、索引及test、ntest和image页的完整性

DBCC CHECKIDENT :如果存在大量数据删除,考虑在删除后,使用 dbcc checkident 重置一下自增值

http://social.msdn.microsoft.com/Forums/zh-CN/sqlserverzhchs/thread/8fa3e3a8-2ff2-4a68-be3e-92e76c380ef9/

检查指定的当前标识值

DBCC SQLPERF(UMSSTATS):最关键的一个参考数据num runnable:表明当前有多少个线程再等待运行,如果大于等于2,考虑CPU达到瓶颈

Scheduler ID:当前机器有多少个逻辑CPU就有多少个Scheduler ID,具体怎麽看可以看一下我的这篇文章

SQLSERVER独特的任务调度算法"SQLOS"


三、DBCC 维护类命令 

DBCC CLEANTABLE ('db_name','table_name') :回收Alter table drop column语句删除可变长度列或text

DBCC DBREINDEX :重建指定数据库的一个或多个索引 跟ALTER INDEX REBUILD差不多

DBCC INDEXDEFRAG:对表或视图上的索引和非聚集索引进行碎片整理

DBCC PINTABLE (db_id,object_id) :将表数据驻留在内存中

查看哪些表驻留在内存的方法是:0:没有驻留 ,1:驻留

1 USE [GPOSDB]
2 GO
3 SELECT OBJECTPROPERTY(OBJECT_ID('dbo.SystemPara'), 'tableispinned')

DBCC UNPINTABLE (db_id,object_id) :撤消驻留在内存中的表

DBCC SHRINKDATABASE(db_id,int) :收缩指定数据库的数据文件和日志文件大小

DBCC SHRINKFILE(file_name,int):收缩相关数据库的指定数据文件和日志文件大小


四、DBCC 性能调节命令

DBCC dllname(FREE) :在内存中卸载指定的扩展过程动态链接库(dll)

sp_helpextendedproc 查看加载的扩展PROC

DBCC DROPCLEANBUFFERS :从缓冲池中删除所有缓冲区

DBCC FREEPROCCACHE :从执行计划缓冲区删除所有缓存的执行计划

DBCC INPUTBUFFER :显示从客户机发送到服务器的最后一个语句

DBCC OPENTRAN (db_name) :查询某个数据库执行时间最久的事务,由哪个程序拥有

DBCC SHOW_STATISTICS :显示指定表上的指定目标的当前统计信息分布

DBCC SHOWCONTIG :显示指定表的数据和索引的碎片信息

DBCC SQLPERF (logspace) :查看各个DB的日志情况

(iostats) 查看IO情况

(threads) 查看线程消耗情况

返回多种有用的统计信息

DBCC CACHESTATS :显示SQL Server 2000内存的统计信息

DBCC CURSORSTATS :显示SQL Server 2000游标的统计信息

DBCC MEMORYSTATS :显示SQL Server 2000内存是如何细分的

DBCC SQLMGRSTATS :显示缓冲区中先读和预读准备的SQL语句


五、DBCC 未公开的命令

DBCC ERRLOG :初始化SQL Server 2000的错误日志文件

DBCC FLUSHPROCINDB (db_id) :清除SQL Server 2005服务器内存中的某个数据库的存储过程缓存内容

DBCC BUFFER (db_name,object_name,int(缓冲区个数)) :显示缓冲区的头部信息和页面信息

DBCC DBINFO (db_name) :显示数据库的结构信息

DBCC DBTABLE :显示管理数据的表(数据字典)信息

DBCC IND (db_name,table_name,index_id) :查看某个索引使用的页面信息

DBCC REBUILDLOG :重建SQL Server 2000事务日志文件

DBCC LOG (db_name,3) (-1~4) :查看某个数据库的事物日志信息 显示格式可以为:-1,0,1,2,3,4 每个数字代表不同的格式

DBCC PAGE :查看某个数据库数据页面信息

DBCC PROCBUF :显示过程缓冲池中的缓冲区头和存储过程头

DBCC PRTIPAGE :查看某个索引页面的每行指向的页面号

DBCC PSS (user,spid,1) :显示当前连接到SQL Server 2000服务器的进程信息

DBCC RESOURCE :显示服务器当前使用的资源情况

DBCC TAB (db_id,object_id) :显示数据页面的结构


六、DBCC跟踪标记

跟踪标记用于临时设置服务器的特定特征或关闭特定行为,常用于诊断性能问题或调试存储过程或复杂的系统

DBCC TRACEON (3604) :打开跟踪标记

DBCC TRACEOFF :关闭跟踪标记

DBCC TRACESTATS :查看跟踪标记状态


七、官方使用DBCC的建议

1、在系统使用率较低时运行 CHECKDB。

2、请确保未同时执行其它磁盘 I/O 操作,例如磁盘备份。

3、将 tempdb 放到单独的磁盘系统或快速磁盘子系统中。

4、允许 tempdb 在驱动器上有足够的扩展空间。 使用带有 ESTIMATE ONLY 的 DBCC 估计 tempdb 将需要多少空间。

5、避免运行占用大量 CPU 的查询或批处理作业。

6、在 DBCC 命令运行时,减少活动事务。

7、使用 NO_INFOMSGS 选项减少一些信息的输出。

8、考虑使用带有 PHYSICAL_ONLY 选项的 DBCC CHECKDB 来检查页和记录的物理结构。

PHYSICAL_ONLY 选项:只检查物理错误,不检查逻辑错误

物理错误比逻辑出更严重,因为物理错误一般SQLSERVER都不能修复的,而逻辑错误大部分SQLSERVER都可以修复

SQL Server DBCC命令大全的更多相关文章

  1. [转帖]SQL Server DBCC命令大全

    SQL Server DBCC命令大全   原文出处:https://www.cnblogs.com/lyhabc/archive/2013/01/19/2867174.html DBCC DROPC ...

  2. SQL SERVER 2008函数大全(含例子)

    --SQL SERVER 2008 函数大全 /* author:TracyLee csdncount:Travylee */ /* 一.字符串函数: 1.ascii(字符串表达式)    返回字符串 ...

  3. 【转】sql server数据库操作大全——常用语句/技巧集锦/经典语句

    本文为累计整理,有点乱,凑合着看吧! ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ ☆ ☆ ☆ sql 宝 典 ☆ ☆ ☆ 2012年-8月 修订版 ☆ ...

  4. SQLSERVER DBCC命令大全

    DBCC DROPCLEANBUFFERS:从缓冲池中删除所有缓存,清除缓冲区 在进行测试时,使用这个命令可以从SQLSERVER的数据缓存data cache(buffer)清除所有的测试数据,以保 ...

  5. sql server系统存储过程大全

    关键词:sql server系统存储过程,mssql系统存储过程 xp_cmdshell --*执行DOS各种命令,结果以文本行返回. xp_fixeddrives --*查询各磁盘/分区可用空间 x ...

  6. SQL SERVER 常用命令

    红色为常用 0.row_number() over 和数据组合sale/cnt select *,row_number() over(order by productname) as rownumbe ...

  7. SQL SERVER 日期转换大全

    博客转自:http://blog.csdn.net/baiduandxunlei/article/details/9180075 CONVERT(data_type,expression[,style ...

  8. SQL Server 日期函数大全

    一.统计语句 1.--统计当前[>当天00点以后的数据] SELECT * FROM 表 WHERE CONVERT(Nvarchar, dateandtime, 111) = CONVERT( ...

  9. sql server 字符串函数大全

    平常会用到一些函数处理字符串,用的不算频繁,所以每次用到的时候就忘记了,这次在网上找了一篇文档,担心突然某一天这篇文章找不到了,然后就把文章的内容复制了一份: /* 1,ASCII返回字符表达式中最左 ...

随机推荐

  1. 中文版Postman测试需要登陆才能访问的接口(基于Cookie)

    ApiPost堪称增强版的中文postman,是一个支持团队协作,并可直接生成文档的API调试.管理工具.它支持模拟POST.GET.PUT等常见请求,是后台接口开发者或前端.接口测试人员不可多得的工 ...

  2. 探秘JVM的底层奥秘

    JVM的简单运行流程:主要将字节码文件加载到JVM的内存中,负责跨平台解释字节码文件到不同的操作系统. JVM的基本结构: 类加载器.执行引擎.运行时数据区域.本地接口 类的装载 加载.连接(验证.准 ...

  3. 线上IIS应用程序池自动关闭

    事情的经过是这样的: 下午下班的铃声已经敲响,我已经整装待发.突然同事说某水司的微信公众号不能正常访问了.点击营业厅,直接提示Service Unavailable. 立马远程服务器查看,IIS微信公 ...

  4. 01. MySQL8.0 MAC-OS-X安装

    目录 MySQL8.0 MAC-OS-X安装 8.0较与5.7变化 下载 安装 启动 登录查看数据库 安装后mysql文件分布 MySQL8.0 MAC-OS-X安装 换mac啦,搭建开发环境,安装m ...

  5. 在系统下文件上传报错:The temporary upload location [/tmp/tomcat.xxx/work/Tomcat/localhost/ROOT] is not valid

    线上的系统中长时间不访问时不能上传文件了,出现如下错误: 2019-03-11 23:37:42.741 ERROR 66505 --- [nio-8081-exec-3] o.a.c.c.C.[.[ ...

  6. Ningx的基本使用

    Ningx的基本使用   user www; worker_processes 2; error_log logs/error.log info; pid logs/nginx.pid;   even ...

  7. jq node.js bootstrap

    1.node.js 网址:https://nodejs.org/en/ 用来通过下载node.js 来引用里面的npm 来实现对外部项目的下载 1.安装nodejs 自带了npm npm instal ...

  8. 从架构开始谈dubbo(一)

    架构发展史 一.单体应用架构      当网站流量很小时,所有的功能写在一个项目中,打包部署在tomcat中.          例如:公司管理系统,超市的收银系统         也可以将单体应用部 ...

  9. 火车头data下任务文件夹的SpiderResult.db3文件用什么软件打开

    火车头采集器默认是用sqlite数据库来保存数据的,新建一个采集,打开data/任务/发现有一个SpiderResult.db3文件,.db3是sqlite的存储文件后缀,那么要如何查看这些文件呢?用 ...

  10. IDEA控制台输出中文乱码问题

    IntelliJ IDEA 真的是一款很方便的Java开发工具,但是关于中文乱码这个问题我不得不吐槽,这个编码也弄得这么麻烦干嘛,真想找idea开发者干架,我敢打包票我能在一分钟之内一拳飞过去让他跪下 ...