인스턴스 당 SQL Server Express 메모리 및 CPU 제한이 있습니까? Express 인스턴스를

서버에 8GB의 RAM이 있고 4 개의 SQL Server Express 인스턴스를 실행하는 경우 SQL Server에서 사용하는 총 메모리 제한은 1GB 또는 4GB입니까?

서버가 많은 자원을 가지고 있다고 가정 할 때 각 데이터베이스가 자원을 더 잘 사용할 수 있도록 이와 같은 다중 인스턴스를 실행하는 것이 바람직합니까?



답변

서버에 8GB의 RAM이 있고 4 개의 SQL Express 인스턴스를 실행하는 경우 SQL Server에서 사용하는 총 메모리 제한은 1GB 또는 4GB입니까?

각 인스턴스는 버퍼 풀에 최대 1GB의 메모리를 사용할 수 있습니다 . 모든 메모리 할당이 버퍼 풀을 통과하는 것은 아니기 때문에 각 인스턴스는 총 1GB를 약간 초과 할 수 있습니다. 귀하의 경우, 4 개의 인스턴스가 버퍼 풀에 사용하는 최대 메모리는 4GB입니다.

확인하기 위해 SQL Server 2008 Express 데이터베이스 엔진의 두 인스턴스 를 시작 하고 (별도의) 버퍼 풀을로드하기 위해 몇 가지 활동을 수행 한 다음 DBCC MEMORYSTATUS 또는 sys.dm_os_buffer_descriptors DMV를 사용하여 버퍼 수를 계산합니다 .

아래 의 실제 메모리 사용량 은 데이터베이스 엔진의 각 인스턴스 에서 시스템 DMV sys.dm_os_process_memory 에 대한 동시 쿼리를 사용하여 얻은 것입니다 .

SELECT
    dopm.physical_memory_in_use_kb
FROM sys.dm_os_process_memory AS dopm;

산출:

╔═══════════╦═══════════╗
 Instance1  Instance2 
╠═══════════╬═══════════╣
   1102872    1059812 
╚═══════════╩═══════════╝

전체 물리적 메모리 사용량에는 앞에서 언급 한 것처럼 버퍼 풀 사용량 이상이 포함되므로 이들 각각은 1GB를 약간 초과합니다.

서버가 많은 자원을 가지고 있다고 가정 할 때 각 데이터베이스가 자원을 더 잘 사용할 수 있도록 이와 같은 다중 인스턴스를 실행하는 것이 바람직합니까?

각 인스턴스의 데이터베이스가 기능적으로 독립적 인 경우 최소한 이러한 방식으로 여러 Express 인스턴스를 실행하는 것이 가능하지만 구성에주의를 기울여야하고 유지 관리가 더 복잡해질 수 있습니다.

의도 한 용도가 라이센스와 일치하는 경우 완전한 기능을 갖춘 (그리고 매우 저렴한) Developer Edition과 같은 다른 에디션을 사용하는 것이 더 좋습니다. 이 시점에서 분명한 답변을 얻으려면 상황에 대해 더 많이 말해야합니다.


답변

별도의 프로세스가 있으므로 모든 인스턴스는 개별적으로 계산됩니다.


답변

SQL Express 에서 데이터베이스 엔진은 1GB RAM 만 사용할 수 있으며 DB는 10GB보다 클 수 없습니다.

따라서 4 개의 인스턴스는 여전히 1GB RAM을 공유해야합니다.

http://msdn.microsoft.com/en-us/library/cc645993(v=SQL.110).aspx 에서 훨씬 더 자세한 내용을 확인할 수 있습니다 .

스택 오버플로에 대한 비슷한 토론에 따르면 이것이 BTW의 정답이라고 답할 수 있습니다.

이 페이지는 SQL Server Express 2005에 관한 내용에도 동일하게 적용됩니다. http://www.edugeek.net/forums/windows-server-2000-2003/55183-sql-server-express-2005-memory-limit- per-instance.html