首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何找到最活跃的数据库?

问如何找到最活跃的数据库?
EN

Database Administration用户
提问于 2016-04-20 23:31:00
回答 2查看 934关注 0票数 0

如何找到最活跃的数据库?

我的意思是说,我有10个DB,并且在这些DB上不断发生一些事务。

我想知道哪一天使用较少,哪个DB事务处理较少,或一天中活动较少。

EN

回答 2

Database Administration用户

回答已采纳

发布于 2016-04-21 08:46:15

捕捉到这一点:

代码语言:javascript
复制
Select  instance_name As Database_Name,
        cntr_value As TranSec
From    sys.dm_os_performance_counters where counter_name = 'Transactions/sec'                  
And     instance_name <> '_Total'
Order By instance_name

然后在一天结束的时候再做一次。从另一组值中减去一组值。这会给你带来最多的交易。

您可以为登录/秒查找类似的计数器,但它可能会产生误导,这取决于应用程序如何连接到数据库,以及它是否保持连接打开。

另一种很好的方法是磁盘IO,但这也可能产生误导,因为很多东西可能会出现,并且是由备份/维护引起的。

代码语言:javascript
复制
Select  Db_Name(mf.database_id) As Database_Name,
        Sum(a.num_of_reads) As Reads,
        Sum(a.num_of_bytes_read) As Bytes_Read,
        Sum(a.num_of_writes) As Writes,
        Sum(a.num_of_bytes_written) As Bytes_Written
From    sys.master_files mf
Cross Apply sys.dm_io_virtual_file_stats(mf.database_id, mf.file_id) a
Group By Db_Name(mf.database_id)
Order By 1

一次又一次,你会在早上和下午运行它,并减去比较。

票数 3
EN

Database Administration用户

发布于 2016-04-21 08:22:14

除非您有带有Server管理包的系统中心操作管理器,否则最好的方法是设置一些查询适当DMV的数据收集器。

假设您正在运行Server 2008 +,您可以使用在实例上设置一个。结果是一个性能仪表板样式的图形用户界面。

链接:如何指导MSsqltips

开箱即用很容易,信息丰富,当你对默认的度量感到厌烦时,它可以很容易地扩展。

票数 1
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/135999

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档