SQLServer 维护脚本分享(11)部分DBCC及系统存储过程

时间:2022-07-14 20:43:15
--DBCC命令与用法
DBCC HELP('?')
DBCC HELP('useroptions')
DBCC USEROPTIONS WITH NO_INFOMSGS --当前DB的区及文件
DBCC showfilestats --各数据库事务日志大小及百分比
DBCC sqlperf(logspace) --当前虚拟日志数量
DBCC loginfo --数据库活动游标
DBCC activecursors --表索引碎片情况
DBCC showcontig('[dbo].[table]') --输出批处理脚本
DBCC inputbuffer(@SPID) --收缩数据库日志
DBCC shrinkfile (N'dblogicname_log' , 0, TRUNCATEONLY)
DBCC shrinkdatabase(N'dblogicname' ) --查看某个统计信息
DBCC SHOW_STATISTICS('[dbo].[table]','统计信息名称') --清除计数器数值
DBCC SQLPERF('SYS.DM_OS_WAIT_STATS',CLEAR) DBCC FREEPROCCACHE --清空执行计划缓存
DBCC FREEPROCCACHE(plan handle) --清除指定执行计划缓存
DBCC FREESESSIONCACHE --清除所有缓存存储区
DBCC FREESYSTEMCACHE ('TokenAndPermUserStore')--清除系统缓存存储区
DBCC FREESYSTEMCACHE ( 'ALL' ) WITH MARK_IN_USE_FOR_REMOVAL
DBCC FLUSHPROCINDB(<DB_ID>) --清除指定db计划缓存
DBCC DROPCLEANBUFFERS --清空数据缓存 --------------------------------------------------------
--系统配置信息
EXEC sp_configure --切换当前日志
DBCC ErrorLog
EXEC sp_cycle_errorlog; --查看所有统计信息更新时间
EXEC sp_helpstats N'[dbo].[table]', 'ALL' --更新数据库中所有可用的统计信息
EXEC sys.sp_updatestats --切换SQL Agent LOG
EXEC msdb.dbo.sp_cycle_agent_errorlog ; --查看存储过程定义/组件
EXEC master.dbo.sp_helptext sp_MSgetversion --查看当前SQL版本
EXEC master.dbo.sp_MSgetversion EXEC master.dbo.xp_msver --cpu/io/包情况:
EXEC master.dbo.sp_monitor --SQL Server 的诊断数据和运行状况信息
EXEC master.sys.sp_server_diagnostics 0 ; --查看登录信息
EXEC master.dbo.xp_logininfo --显示系统上可用的盘符
EXEC master.dbo.xp_availablemedia --获取磁盘的可用容量.
EXEC master..xp_fixeddrives
EXEC xp_cmdshell 'wmic logicaldisk get caption,size,freespace'; --列出错误日志最后的日期与大小
EXEC master.dbo.xp_enumerrorlogs --返回错误日志文件的内容
EXEC master..xp_readerrorlog --创建目录
EXEC master.dbo.xp_create_subdir 'D:\NewDir' --目录或者文件是否存在
EXEC master.dbo.xp_fileexist 'D:\NewDir' --列出d盘根目录下文件夹与xp_dirtree相比,这个只能返回一级目录。
EXEC master.dbo.xp_subdirs 'D:' --列出某磁盘下所有文件夹
EXEC master.dbo.xp_dirtree 'D:',1 --depth --获取SQL服务器的WINS名称.
EXEC master..xp_getnetname --列出windows NT 组与描述
EXEC master..xp_enumgroups --显示所有可用的OLE DB驱动
EXEC master.dbo.xp_enum_oledb_providers --停止或者启动某个服务
exec xp_servicecontrol 'QueryState','SQLServerAGENT'
exec xp_servicecontrol 'Stop','SQLServerAGENT'
exec xp_servicecontrol 'Start','SQLServerAGENT' -------------------------------------------------------- --从注册表删除一个完整的键 EXEC master..xp_regdeletekey
@rootkey='HKEY_LOCAL_MACHINE',
@key='SOFTWARE?' --从注册表删除一个特定键值
EXEC master..xp_regdeletevalue
@rootkey='HKEY_LOCAL_MACHINE',
@key='SOFTWARE?',
@value_name='Value' --从注册表读取键值
DECLARE @test varchar(20)
EXEC master..xp_regread @rootkey='HKEY_LOCAL_MACHINE',
@key='SOFTWARE?',
@value_name='Value',
@value=@test OUTPUT
SELECT @test --写注册表
EXEC master..xp_regwrite
@rootkey='HKEY_LOCAL_MACHINE',
@key='SOFTWARE?',
@value_name='Value',
@type='REG_SZ',
@value='x0' --------------------------------------------------------