您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息
三六零分类信息网 > 南宁分类信息网,免费分类信息发布

SQLSERVER DBCC命令大全

2025/6/22 5:03:09发布9次查看
sqlserver dbcc命令大全 dbcc dropcleanbuffers:从缓冲池中删除所有缓存,清除缓冲区 在进行测试时,使用这个命令可以从sqlserver的数据缓存data cache(buffer)清除所有的测试数据,以保证测试的公正性。 需要注意的是这个命令只移走干净的缓存,不移走脏缓
sqlserver dbcc命令大全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 go3 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都可以修复
很困啊 要睡了~~
南宁分类信息网,免费分类信息发布

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product