디비 모니터링 질문

3
0

데이터베이스 전체 사이즈,여유공간, 테이블당 로우수, 가장 많이 이용하는 테이블,가장 오래걸린 쿼리문등 을 알고 싶은데 어떤 것을 이용 하믄 되나요?
쿼리문으로 확인 이 가능 하나요?


1
0

바뻐서 이제야 확인했네요. 모두 감사 드립니다.

0
0

금액 적으로 여유가 된다면 성능 모니터링 툴 도입 하시는게 좋구요…
기본적으로 말씀 하신 db size, disk 용량, 테이블당 rows count…. 등등…
dmv 를 이용해서 간편하게 조회 가능합니다..

0
0

DevilGom님 말씀대로 모니터링 툴 도입이 가장효율적입니다

느린쿼리때문에 가장필요하겠죠
테이블당 로우수는 그다지 필요 없어보이네요

0
0

대쉬보드를 이용해서 간단한 모니터링이 지원됩니다
쿼리의 io 도 알수 있겠지요

해당 이미지 참조 하세요

그치만 정확한 수치가 아니라는 것과, 어느정도 문제점이 있다는 것 정도만 갸늠 하는 정도로만 사용하셔야 합니다.

대쉬보드는 실시간 동적으로 동작하는게 아니니 완전한 기능을 바라면 조금 곤란합니다 🙂

0
0

폰으로 보다가 답변 다시 답니다.

테이블 rows 는

Declare @seq int
Declare @seq1 int
declare @dbcon int
Declare @dbName varchar(100)
Declare @cmd varchar(2000)
SET @dbcon = (select COUNT(*) from sys.sysdatabases where dbid > 4)
--select @dbcon
SET @dbcon = @dbcon +1
SET @seq = 1
set @seq1 = 5
WHILE @seq < @dbcon
Begin
SELECt o.name, i.rows
FROM sys.sysdatabases s,sysindexes i INNER JOIN sysobjects o
ON i.id = o.id
WHERE i.indid < 2 AND o.xtype = 'U' and
s.dbid > 4
AND s.dbid = @seq1
SET @cmd = ' USE ['+ @dbName +'] select ''' + @dbName +''' ,name from sys.sysobjects where xtype = ''U'''
SET @seq = @seq +1
SET @seq1 = @seq1 + 1
-- print(@cmd)
EXEC (@cmd)
end

이러면 되구요..

디비 사이즈는

select s.name, i.size,
CONVERT(DECIMAL(10,2),(size * 8.00) / 1024.00) As UsedSpace
from master.sys.master_files i,sys.sysdatabases s
where i.physical_name = s.filename
order by i.physical_name

이렇게 하면 되고

( 쿼리는 정확히 검증 안했어요 ^_^ )

가장 많이 이용하는 테이블은 모니터링이 필요 한 부분입니다.
가장 오래걸린 쿼리문 역시 트레이스를 떠야 알 수 있는 부분이네요..
sql 프로파일러를 통해서 확인하여도 되고, 방법은 여러가지 있으나,
고려할게 많아서 단순한 커멘트로는 힘들것 같습니다.

따로 연락 주시면, 방법 설명을 드리겠습니다.

실시간이나 즉시 대응이 필요하다면 모니터링 툴이 필요합니다.


총 5개 내용
의견 쓰기

쉐어드IT의 가입은 쉽고 간단합니다. 지금 하시고 IT관리자들과 의견을 함께 나누세요