[server] 32 비트 Windows Server 및 SQL Server를 64 비트로 업그레이드하면 어떤 이점이 있습니까?

피크 시간에 RAM 사용량이 약 2GB 인 SQL Server와 함께 여러 서버 응용 프로그램을 작동하는 32 비트 Windows Server 상자가 있다고 가정합니다.

서버 응용 프로그램을 32 비트로 유지하면서 Windows Server OS 및 SQL Server를 해당 64 비트 버전으로 업그레이드하면 어떤 이점이 있습니까? 64 비트 버전은 4GB 이상의 RAM에 액세스 할 수 있지만 4GB가 완전히 활용되지 않아서 업그레이드에 문제가 있습니까?

버전 : Windows Server 2008 R2, SQL Server 2008 R2 Datacenter Edition

감사



답변

강력하게 관련 : 32 비트 Microsoft Windows 데스크탑 OS를 유지해야하는 좋은 이유

당신이 하는 64 비트 OS를 사용. Server 2008 R2는 64 비트 CPU 만 지원하는 최초의 제품입니다.

“최신”버전의 Windows는 32 비트 용으로 설계되지 않았습니다. 아무 것도 활용하지 못할 수도 있지만 단점도 없어야합니다. 즉, Server 2008 R2 SP1 (사용하길 희망합니다) 이 2020-01-14의 EOL이기 때문에 업그레이드하십시오 .

SQL Server 32 비트 / 64 비트의 경우 : ~ 3,75GB 이상의 RAM (또는 프로세스 당 2GB 초과)이 필요하지 않은 경우 32 비트 버전을 문제없이 사용할 수 있습니다. 그러나 최신 버전의 경우 Microsoft가 64 비트로 만 전환했기 때문에 설치할 32 비트 버전이 없습니다.


답변

이미 언급했듯이 이미 64 비트 OS를 사용하고 있습니다. 64 비트 버전의 SQL Server로 전환하면 두 가지 장점과 단점이 있습니다.

유일한 단점은 64 비트 버전의 SQL Server가 64 비트 포인터를 사용한다는 것입니다. 이는 포인터가 두 배의 메모리를 차지하고 두 배의 메모리 대역폭을 소비하는 등을 의미합니다. 이것은 무시할만한 수준이지만 단점입니다. 64 비트 응용 프로그램으로 전환하면 32 비트 응용 프로그램이 64 비트 OS 기능에 액세스하는 데 사용해야하는 호환성 계층의 오버 헤드를 버릴 수 있다는 사실에 의해 부분적으로 보상됩니다.

가장 큰 장점은 시간이 지남에 따라 CPU 명령 세트가 크게 개선되었다는 것입니다. 일부는 64 비트로 변경되었으며 일부는 이전에 변경되었습니다.

그러나 이전에 만든 것조차도 32 비트 빌드는 이러한 기능이없는 CPU를 처리하고 여러 인스턴스 간의 감지 및 전환 번거 로움을 피하기 위해 존재하는 경우에도 사용하지 않습니다. 예를 들어 64 비트 CPU에는 SSE2가 있어야하지만 32 비트 CPU는 그렇지 않을 수 있습니다. 따라서 대부분의 32 비트 코드는 검사를 방해하지 않으며 SSE2가 없다고 가정합니다. 64 비트 코드는 SSE2 명령어가 존재하므로 가장 적합한 옵션 인 경우이를 사용합니다.

가장 큰 것은 명명 된 범용 레지스터 수가 8 개에서 16 개로 증가한 것입니다. 128 비트 XMM 레지스터도 8 개에서 16 개로 두 배가되었습니다.

또한 64 비트 프로세스는 많은 양의 가상 메모리를 사용할 수 있습니다. 이는 디스크에서 대량의 구조화 된 데이터에 액세스하는 프로세스에서 특히 중요합니다. 물론 대용량 파일 시스템에서 암호화, 압축 및 일부 파일 시스템 작업의 성능을 향상시키는 64 비트 정수 연산을 사용할 수 있습니다.


답변

기본적으로 : 예. 4 비트 만 업데이트한다고 가정하면 2008 년보다 최신의 32 비트 SQL Server가 있는지 확실하지 않습니다.

귀하의 질문에 관한 문제 : “64 비트 버전은 4GB 이상의 RAM에 대한 액세스를 허용합니다.”-4GB가 아니라 3gb가되도록하십시오. 1gb는 항상 예약되어 있습니다.


답변

잠재적 인 문제 : CLR 사용자 정의 함수 (UDF)의 DLL 라이브러리에는 64 비트 버전이 필요합니다.

CLR 사용자 정의 함수 라이브러리를 사용하는 경우 비트 호환되지 않습니다. 32 비트 DLL은 일반적으로 64 비트 소프트웨어에서 사용할 수 없으며 그 반대도 마찬가지입니다. 사용중인 일부 UDF 라이브러리의 64 비트 버전을 얻을 수없는 경우 해당 특정 확장자를 잃게됩니다.

기본적으로 추가 기능이있는 32 비트 소프트웨어를 64 비트 버전으로 업그레이드하는 것과 동일한 문제입니다. 또한 모든 애드온을 64 비트 버전으로 전환해야합니다. 일반적으로 쉽지만 교체가 불가능한 문제는 중단 된 것입니다.


답변

공연!

여기에는 이미 몇 가지 기술적 답변이 있지만 너무 기술적이지 않고 응용 프로그램에 따라 성능 업그레이드를 볼 수 있습니다.

주요 부분은 다음과 같습니다

큰 메모리 주소 지정 : 64 비트 아키텍처는 직접 주소를 지정할 수있는 더 큰 메모리 공간을 제공합니다. SQL Server 2005 (64 비트)는 32 비트 시스템의 4GB 메모리 제한에 구속되지 않습니다. 따라서 복잡한 쿼리를 수행하고 필수 데이터베이스 작업을 지원하기 위해 더 많은 메모리를 사용할 수 있습니다. 이 더 큰 처리 용량은 기존 32 비트 시스템보다 더 많은 메모리를 활용하여 I / O 대기 시간의 처벌을 줄입니다.

향상된 병렬 처리 : 64 비트 아키텍처는 고급 병렬 처리 및 스레딩을 제공합니다. 병렬 처리 및 버스 아키텍처의 개선으로 64 비트 플랫폼은 더 많은 수의 프로세서 (최대 64 개)를 지원하면서 각 추가 프로세서마다 선형 확장성에 가깝습니다. 더 많은 수의 프로세서를 사용하면 SQL Server는 단일 시스템에서 더 많은 프로세스, 응용 프로그램 및 사용자를 지원할 수 있습니다.

https://teratrax.com/sql-server-64-bit/

32 비트에서 64 비트 SQL Server (SQL Server 2005)로 전환했을 때 가장 극적인 결과는 클라이언트의 주요 응용 프로그램에서 약 40 %의 속도 향상이었습니다. 64 비트 SQL Server를 설치하기 만하면됩니다. 그것은 실제 세계에서 중요한 성능 향상이었습니다.


답변

특히 멀티 스레딩이 많은 프로그램에서 멀티 태스킹 성능을 향상시킬 수 있습니다. 또한 64 비트 OS로 더 많은 램을 설치할 수 있습니다. 그러나 프로세서가 64 비트 명령어를 지원하는 경우에만이 작업을 수행하십시오.


답변