SQL Server 2005에서 어느 정도의 RAM을 사용하는지 데이터베이스 확인


12

내 친구가 오늘 나에게 (동요 된 고객을 진정시키기 위해) SQL Server 2005에서 어떤 데이터베이스가 주어진 시간에 (서버의 RAM에있는) 얼마나 많은 메모리를 사용하는지 알 수있는 방법을 물었습니다.

그게 가능합니까? 그렇다면 어떻게? 기본 제공 SQL Server 도구를 사용하여이 작업을 수행 할 수 있습니까? 아니면 추가 타사 옵션이 필요합니까?

그의 전용 SQL Server 시스템이 갑자기 4GB RAM 중 200KB를 모두 사용하기 때문에 그의 고객은 모두 혼란에 빠졌습니다. 나는 이것이 문제라고 생각하지 않지만 실제로이 사람은 밤새 다소간 일어난다 고 주장하기 때문에 메모리 사용량 증가의 원인을 알고 싶어합니다 .....

마크

답변:


25

버퍼 풀로 더 많은 페이지를 읽으려는 쿼리와 버퍼 풀에서 더 많은 메모리를 가져 와서 발생했을 가능성이 높습니다. 이것이 SQL Server가 작동하는 방식입니다. 상자에 메모리 부족이 발생하면 SQL Server에서 메모리를 포기하라고 요청합니다. 고객은 걱정하지 않아도됩니다.

DMV sys.dm_os_buffer_descriptors를 사용하여 어떤 데이터베이스에서 사용중인 버퍼 풀 메모리의 양을 확인할 수 있습니다 . 이 스 니펫은 각 데이터베이스의 정리 및 더티 (마지막 체크 포인트 이후 수정되거나 디스크에서 읽은 이후) 페이지가 버퍼 풀에 얼마나 많은지 알려줍니다. 추가로 수정할 수 있습니다.

SELECT
   (CASE WHEN ([is_modified] = 1) THEN 'Dirty' ELSE 'Clean' END) AS 'Page State',
   (CASE WHEN ([database_id] = 32767) THEN 'Resource Database' ELSE DB_NAME (database_id) END) AS 'Database Name',
   COUNT (*) AS 'Page Count'
FROM sys.dm_os_buffer_descriptors
   GROUP BY [database_id], [is_modified]
   ORDER BY [database_id], [is_modified];
GO

이 블로그 게시물 인 Storage Engine 내부 : 버퍼 풀에 무엇이 있습니까?

KB 907877 ( DBCC MEMORYSTATUS 명령을 사용하여 SQL Server 2005의 메모리 사용을 모니터링하는 방법)을 체크 아웃 하면 나머지 SQL Server의 메모리 사용량 (데이터베이스 당 아님)을 분석 할 수 있습니다.

도움이 되었기를 바랍니다!


당신은 천재입니다, 폴!
marc_s

2

Paul은 위에서 언급했듯이 SQL이 가능한 모든 메모리를 사용하기 때문에 친구는 SQL이 사용하는 RAM의 양을 제한 할 수도 있습니다.

SQL Server가 사용하는 메모리의 양을 2000Mb (또는 가장 좋은 것으로 생각하는 것)로 제한하십시오.

--Enable advanced options:
USE master
EXEC sp_configure 'show advanced options', 1
RECONFIGURE WITH OVERRIDE

--Set the maximum amount of memory to 2000 MB:
USE master
EXEC sp_configure 'max server memory (MB)', 2000
RECONFIGURE WITH OVERRIDE

--Display the newly set configuration:
USE master
EXEC sp_configure 'max server memory (MB)'

--Set 'show advanced options' back to default:
USE master
EXEC sp_configure 'show advanced options', 0 
RECONFIGURE WITH OVERRIDE

감사합니다-메모리를 제한하는 방법을 알고 있었지만 주어진 시간에 버퍼 풀 메모리 용량을 사용하는 데이터베이스를 찾는 방법을 몰랐습니다.
marc_s
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.