sqlserver统计行数_sqlserver数据库日常巡检规范之上篇,值得收藏

概述

数据库巡检是数据库管理员保证数据库健康的必要维护项,全面的巡检可以及早的发现问题、解决问题、预防问题。今天主要分享一下sqlserver的一些巡检内容,仅供参考。


一、数据库空间及状态检查

1、所有数据库的大小

 use dbname   go   exec sp_spaceused     go  
398dc8679ef4650b29a9acce63402424.png

2、所有数据库的状态

select name,         user_access_desc, --用户访问模式         state_desc, --数据库状态         recovery_model_desc, --恢复模式         page_verify_option_desc, --页检测选项         log_reuse_wait_desc --日志重用等待  from sys.databases ;
8ae1cc8a57a7932322ca48ef4b14244b.png

3、某个数据库的大小

按页面计算空间,有性能影响,基本准确,有时不准确

use dbname  go  exec sp_spaceused    go  
e58522868a204fa4d08ec7274ed77cfd.png

4、对某个数据库,显示目录视图中的页数和行数错误并更正

--可以@updateusage = 'true',会运行dbcc updateusage  exec sp_spaceused @updateusage = 'true'  --显示目录视图中的页数和行数错误并更正  DBCC UPDATEUSAGE('test')  

二、数据文件检查

1、查看某个数据库中的所有文件及大小

sp_helpfile   
6666a6417024979af4a96c1c24c2af82.png

2、查看所有文件所在数据库、路径、状态、大小

select db_name(database_id) dbname,         type_desc, --数据还是日志         name, --文件的逻辑名称         physical_name, --文件的物理路径         state_desc, --文件状态         size * 8.0/1024 as '文件大小(MB)'          from sys.master_files 
a26f53d25752c5228a6a76a4f1126961.png

3、按区extent计算空间,没有性能影响,基本准确

这里把TotalExtents*64/1024,单位为MB,同时也适用于计算tempdb的文件大小,但不包括日志文件

dbcc showfilestats  
cd9e22ad85d746b71444b2a280080386.png

三、日志文件检查

1、查看日志文件所在数据库、路径、状态、大小

select db_name(database_id) dbname,         type_desc, --数据还是日志         name, --文件的逻辑名称         physical_name, --文件的物理路径         state_desc, --文件状态         size * 8.0/1024 as '文件大小(MB)'          from sys.master_files  where type_desc = 'LOG'  
d8eeea00b022473eb0babffcbb4e74f2.png

2、所有数据库的日志的大小,空间使用率

 dbcc sqlperf(logspace)  
d0fd0e7aa4869570a80bbdabcb391eba.png

四、数据文件、日志文件的I/O统计信息

1、数据和日志文件的I/O统计信息,包含文件大小

select database_id,             file_id,             file_handle, --windows文件句柄             sample_ms, --自从计算机启动以来的毫秒数            num_of_reads,             num_of_bytes_read,             io_stall_read_ms, --等待读取的时间             num_of_writes,             num_of_bytes_written,             io_stall_write_ms,             io_stall, --用户等待文件完成I/O操作所用的总时间             size_on_disk_bytes --文件在磁盘上所占用的实际字节数           from sys.dm_io_virtual_file_stats(db_id('test'), --数据库id                                         1 ) --数据文件id                                             union all      select database_id,             file_id,             file_handle, --windows文件句柄             sample_ms, --自从计算机启动以来的毫秒数             num_of_reads,             num_of_bytes_read,             io_stall_read_ms, --等待读取的时间             num_of_writes,             num_of_bytes_written,             io_stall_write_ms,             io_stall, --用户等待文件完成I/O操作所用的总时间             size_on_disk_bytes --文件在磁盘上所占用的实际字节数       from sys.dm_io_virtual_file_stats( db_id('test'), --数据库id                                         2 ) --日志文件id  
9e677db26401b8631869074af043f583.png

篇幅有限,所以就分成两部分做介绍了~

觉得有用的朋友多帮忙转发哦!

后面会分享更多devops和DBA方面的内容,感兴趣的朋友可以关注下~

4d3dcf245c2fd97a93e387c0a7e25e7b.gif
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值