MSSQLSERVER_17890MSSQLSERVER_17890

적용 대상:Applies to: 예SQL ServerSQL Server(지원되는 모든 버전)yesSQL ServerSQL Server (all supported versions) 적용 대상:Applies to: 예SQL ServerSQL Server(지원되는 모든 버전)yesSQL ServerSQL Server (all supported versions)

세부 정보Details

attributeAttribute Value
제품 이름Product Name SQL ServerSQL Server
이벤트 IDEvent ID 1789017890
이벤트 원본Event Source MSSQLSERVERMSSQLSERVER
구성 요소Component SQLEngineSQLEngine
심볼 이름Symbolic Name SRV_WS_TRIMMEDSRV_WS_TRIMMED
메시지 텍스트Message Text SQL Server 프로세스 메모리의 주요 부분이 페이지 아웃되었습니다. 이로 인해 성능이 저하될 수 있습니다.A significant part of SQL Server process memory has been paged out. This may result in a performance degradation. 기간: %d초,Duration: %d seconds. 작업 집합(KB): %I64d, 커밋(KB): %I64d, 메모리 사용률: %d%%.Working set (KB): %I64d, committed (KB): %I64d, memory utilization: %d%%.

설명Explanation

SQL ServerSQL Server 오류 로그 또는 Windows 애플리케이션 이벤트 로그에 다음과 같은 오류 메시지가 나타날 수 있습니다.You might encounter the following error message in the SQL ServerSQL Server error log or the Windows Application event log.

SQL Server 프로세스 메모리의 주요 부분이 페이지 아웃되었습니다. 이로 인해 성능이 저하될 수 있습니다.A significant part of SQL Server process memory has been paged out. This may result in a performance degradation. 기간: 0초Duration: 0 seconds. 작업 집합(KB): 3383250, 커밋(KB): 9112480, 메모리 사용률: 37%.Working set (KB): 3383250, committed (KB): 9112480, memory utilization: 37%.

또한 SQL Server에 대한 쿼리 실행 및 다른 모든 작업에서 갑자기 성능이 저하될 수도 있습니다.You might also notice a sudden performance degradation with query execution and all other operations on the SQL Server.

원인Cause

SQL ServerSQL ServerSQL ServerSQL Server 프로세스에 대한 다양한 메모리 관련 정보를 모니터링합니다.monitors the various memories related information about the SQL ServerSQL Server process. 이 경우에는 프로세스의 작업 집합이 커밋된 프로세스 메모리의 50% 미만인 것을 감지했습니다.In this case, it has detected that the working set of the process is less than 50% of the committed process memory. 이로 인해 이 경고가 출력된 것입니다.As a result this warning is printed. 이 경고가 발생하는 일반적인 원인은 다음과 같습니다.The normal causes of this warning are:

  • 운영 체제가 SQL ServerSQL Server 커밋된 메모리의 상당 부분을 페이징 파일로 페이지 아웃합니다.The operating system pages out large portions of the SQL ServerSQL Server committed memory to the paging file.
  • 이는 다른 애플리케이션 또는 운영 체제에서 메모리 요구가 급증하여 발생할 수 있습니다.This could be due to sudden increased demand for memory from other applications or operating system needs.
  • 특정 디바이스 드라이버가 필요에 따라 연속 메모리 할당을 요청하는 경우에도 이 문제가 발생할 수 있습니다.This could also happen when certain device drivers request contiguous memory allocations for their needs.

사용자 조치User action

실제 메모리의 버퍼 풀에 할당된 메모리를 잠가 Windows 운영 체제에서 SQL ServerSQL Server 프로세스의 버퍼 풀 메모리를 페이징 아웃할 수 없도록 할 수 있습니다.You can prevent the Windows operating system from paging out the buffer pool memory of the SQL ServerSQL Server process by locking the memory that is allocated for the buffer pool in physical memory. 메모리를 잠그려면 메모리의 페이지 잠금 사용자 권한을 SQL ServerSQL Server 서비스의 시작 계정으로 사용되는 사용자 계정에 할당합니다.You lock the memory by assigning the Lock pages in memory user right to the user account that is used as the startup account of the SQL ServerSQL Server service. 그러나 이 해결 방법을 구현하기 전에 SQL Server 메모리를 페이징 아웃할 수 있는 원인 및 중요한 고려 사항을 검토한 다음 SQL Server 인스턴스에 대한 "메모리의 페이지 잠금" 사용자 권한을 할당해야 합니다.But before you implement this solution, review the sections What causes SQL Server memory to be paged out and Important considerations before you assign the "Lock pages in memory" user right for an instance of SQL Server

注意

메모리의 페이지 잠금을 사용하면 SQL ServerSQL Server에서 관리하는 메모리가 페이징 아웃되지 않도록 할 수 있습니다. 그러나 스레드 스택, EXE 및 DLL 이미지, 힙 메모리, CLR 메모리는 계속해서 OS에 의해 페이징 아웃될 수 있습니다.Using Lock Pages in Memory ensure that the memory managed by SQL ServerSQL Server is not paged out. However, thread stacks, the EXE and any DLL images, heap memory, CLR memory can still be paged out by the OS.

SQL ServerSQL Server 2008 SP1 누적 업데이트 2부터 SQL ServerSQL Server Standard 및 Enterprise Edition 모두 메모리의 페이지 잠금 사용자 권한을 사용할 수 있습니다.Starting with SQL ServerSQL Server 2008 SP1 Cumulative Update 2, both SQL ServerSQL Server Standard and Enterprise editions can use the Lock pages in memory user right. 잠긴 페이지 지원에 대한 자세한 내용은 KB970070 - SQL Server Standard Edition(64 비트) 시스템에서 잠긴 페이지 지원을 참조하세요.For more information about support for locked pages, view KB970070 - Support for Locked Pages on SQL Server Standard Edition (64-bit) systems.

메모리의 페이지 잠금 사용자 권한을 할당하려면 다음 단계를 수행합니다.To assign the Lock pages in memory user right, follow these steps:

  1. 시작, 실행 을 차례로 클릭한 다음 gpedit.msc 를 입력하고 확인 을 클릭합니다.Click Start, click Run, type gpedit.msc, and then click OK.
  2. 그룹 정책 대화 상자가 나타납니다.Note The Group Policy dialog box appears.
  3. 컴퓨터 구성 를 확장하고 Windows 설정 을 확장합니다.Expand Computer Configuration, and then expand Windows Settings.
  4. 보안 설정 을 확장한 다음 로컬 정책 을 확장합니다.Expand Security Settings, and then expand Local Policies.
  5. 사용자 권한 할당을 클릭한 다음 메모리의 페이지 잠금 을 두 번 클릭합니다.Click User Rights Assignment, and then double-click Lock pages in memory.
  6. 로컬 보안 정책 설정 대화 상자에서 사용자 또는 그룹 추가 를 클릭합니다.In the Local Security Policy Setting dialog box, click Add User or Group.
  7. 사용자 또는 그룹 선택 대화 상자에서 Sqlservr.exe 파일을 실행할 수 있는 권한이 있는 계정을 추가하고 확인 을 클릭합니다.In the Select Users or Groups dialog box, add the account that has permission to run the Sqlservr.exe file, and then click OK.
  8. 그룹 정책 대화 상자를 닫습니다.Close the Group Policy dialog box.
  9. SQL ServerSQL Server 서비스를 다시 시작합니다.Restart the SQL ServerSQL Server service.

메모리의 페이지 잠금 사용자 권한을 할당하고 SQL ServerSQL Server 서비스를 다시 시작하면 Windows 운영 체제는 더 이상 SQL ServerSQL Server 프로세스 내의 버퍼 풀 메모리를 페이징 아웃하지 않습니다.After you assign the Lock pages in memory user right and you restart the SQL ServerSQL Server service, the Windows operating system no longer pages out the buffer pool memory within the SQL ServerSQL Server process. 그러나 Windows 운영 체제가 SQL ServerSQL Server 프로세스 내의 비 버퍼 풀 메모리는 계속 사용할 수 있습니다.However, the Windows operating system can still page out the nonbuffer pool memory within the SQL ServerSQL Server process.

시작 시 SQL ServerSQL Server 오류 로그에 다음 메시지가 기록되었는지 확인하여 SQL ServerSQL Server 인스턴스에서 사용자 권한이 사용되는지 확인할 수 있습니다. "버퍼 풀에 잠긴 페이지를 사용하고 있습니다."You can validate that the user right is used by the instance of SQL ServerSQL Server by making sure that the following message is written in the SQL ServerSQL Server Error Log at startup: "Using locked pages for buffer pool"

이 메시지는 SQL Server에만 적용됩니다.This message applies only to SQL Server. 오류 로그에 기록되는 이 메시지에 대한 자세한 내용은 다음을 참조하세요. 로컬 시스템에서 메모리의 페이지 잠금 권한을 할당해야 하나요?For more information about this message in the ERRORLOG, visit the following: Do I have to assign the Lock pages for Memory privilege in Local System

Windows 운영 체제가 비 버퍼 풀 메모리를 페이징 아웃하면 여전히 성능 문제가 발생할 수 있습니다.When the Windows operating system pages out the nonbuffer pool memory, you may still encounter performance issues. 그러나 "설명" 섹션에서 설명한 오류 메시지는 SQL ServerSQL Server 오류 로그에 기록되지 않습니다.However, the error messages that are mentioned in the "Explanation" section are not logged in the SQL ServerSQL Server error log.

SQL Server 메모리를 페이징 아웃할 수 있는 원인What causes SQL Server memory to be paged out

이 문제를 발생시킬 수 있는 세 가지 광범위한 문제 범주가 있습니다.There are three broad categories of problems that can cause this issue:

  • 애플리케이션 관련 문제: 여러 애플리케이션이 함께 사용 가능한 실제 메모리를 소진하여 OS가 새 애플리케이션의 리소스 요청을 위해 일부 메모리를 해제해야 합니다.Application-Related Issues: All applications together have exhausted the available physical memory and the OS must free some memory for new application requests for resources. 일반적으로 이 경우에는 메모리를 소모하는 애플리케이션을 찾고 RAM 고갈 없이 메모리를 분산하는 데 필요한 단계를 수행합니다.Typically, the approach here is to find what applications are exhausting the memory and take necessary steps to balance the memory among them without leading to RAM exhaustion.
  • 디바이스 드라이버 문제: 드라이버가 메모리 할당 함수를 잘못 호출하는 경우 디바이스 드라이버 때문에 모든 프로세스의 작업 집합 페이징이 발생할 수 있습니다.Device Driver Issues: Device Drivers may cause working set paging of all processes if the driver calls a memory allocation function incorrectly.
  • 운영 체제 문제Operation System Issues

아래에서 이러한 각 범주에 대한 정보를 찾을 수 있습니다.Below, you can find information on each of these categories

  • 애플리케이션 관련 문제: 여러 애플리케이션이 함께 시스템의 모든 RAM을 사용할 수 있습니다.Application-Related issues: Applications together may consume all of the RAM on the system. 새로운 메모리 요청이 생성되면 OS는 이를 충족하려고 시도하고, 사용 가능한 메모리가 없는 경우 메모리 요청을 충족하기 위해 실행 중인 애플리케이션의 작업 집합을 트리밍합니다.If new requests for memory are made, the OS attempts to satisfy them and if there is no free memory, it will trim the working set of running applications to satisfy the memory requests. 이 경우 대부분의 애플리케이션의 작업 집합이 상당히 감소하는 것을 볼 수 있습니다.In such cases, you may observe that the working set for most if not all applications drop significantly. 이를 확인하려면 시스템의 모든 애플리케이션에 대해 다음 성능 모니터 카운터를 수집합니다.To observe this, collect the following Performance Monitor counter for all applications on the system:

    • 성능 개체: ProcessPerformance object: Process
    • 카운터: 작업 집합Counter: Working Set

    또한 다음 카운터를 모니터링하여 시스템에서 사용할 수 있는 실제 메모리와의 상관 관계를 확인합니다.Also, monitor the following counter to correlate how much physical memory is available on the system.

    • 성능 개체: 메모리Performance object: Memory
    • 카운터: 사용 가능한 메모리(MB)Counter: Available Memory (MB)

    관찰할 수 있는 일반적인 동작은 사용 가능한 메모리가 0MB 가까이로 줄어들면서 시스템에서 대부분의(모든) 프로세스에 대한 작업 집합 카운터가 동시에 급락하는 것입니다.The typical behavior that you may observe is reduction of Available memory close to 0 MB while at the same time a sudden drop of the Working Set counters for most (all) processes on the system. 이러한 동작이 관찰되는 경우 시스템에서 메모리 사용량을 줄이는 조치를 수행해야 합니다. 예를 들어 SQL Server에 대한 최대 서버 메모리를 줄일 수 있습니다.If you observe such behavior, you may need to take steps to reduce memory usage on the system, which includes for example reducing Max Server Memory for SQL Server.

    애플리케이션이 시스템 캐시를 너무 많이 사용하여 시스템 캐시가 크게 증가한 것일 수도 있습니다.Applications may also use the system cache too much, and may cause a large growth of the system cache. 시스템 캐시 증가에 대응하기 위해 시스템은 SQL ServerSQL Server 프로세스 또는 다른 애플리케이션의 작업 집합을 페이징 아웃합니다.To respond to the growth of the system cache, the system pages out the working set of the SQL ServerSQL Server process or of other applications. 이 문제가 발생하는 경우 애플리케이션에서 몇몇 메모리 관리 함수를 사용할 수 있습니다.If you experience this problem, you can use some memory management functions in the application. 이러한 함수는 애플리케이션에서 파일 I/O 작업이 사용할 수 있는 시스템 캐시 공간을 제어합니다.These functions control the system cache space that file I/O operations can use in the application. 예를 들어 SetSystemFileCacheSize 함수와 GetSystemFileCacheSize 함수를 사용하여 파일 I/O 작업이 사용할 수 있는 시스템 캐시 공간을 제어할 수 있습니다.For example, you can use the SetSystemFileCacheSize function and the GetSystemFileCacheSize function to control the system cache space that file I/O operations can use.

    메모리 성능 개체를 사용하여 이 개체에 있는 다양한 카운터의 값을 확인하고 시스템 캐시 작업 집합이 너무 많은 메모리를 사용하는지 여부를 판단할 수 있습니다.You can use the Memory performance object to view the values of various counters in this object to determine whether the system cache working set uses too much memory. 예를 들어 캐시 바이트 및 시스템 캐시 상주 바이트 카운터를 확인할 수 있습니다.For example, you can view the Cache Bytes and System Cache Resident Bytes counters. 이 항목에 대한 자세한 내용은 다음을 참조하세요.For more information about this topic, see:

    "Microsoft Windows Dynamic Cache Service"를 다운로드하고 배포하여 시스템 캐시에 사용되는 메모리를 제어할 수 있습니다.You can download and deploy the "Microsoft Windows Dynamic Cache Service" to control the memory that is consumed by the system cache.

  • 디바이스 드라이버 문제: 디바이스 드라이버가 MmAllocateContiguousMemory 함수를 사용하고 HighestAcceptableAddress 매개 변수의 값을 4GB 미만으로 설정하는 경우 Windows 운영 체제는 SQL ServerSQL Server 프로세스를 포함하여 시스템에서 프로세스의 작업 집합을 페이징 아웃할 수 있습니다.Device Driver Issues: If a device driver uses the MmAllocateContiguousMemory function, and if it sets the value of the HighestAcceptableAddress parameter to less than 4 gigabytes (GB), the Windows operating system may page out the working set of the processes on the system including SQL ServerSQL Server process. 이 문제를 해결하려면 디바이스 드라이버 공급업체에 드라이버 업데이트를 문의하세요.To resolve this problem, contact the vendor of the device driver for driver updates.

    디바이스 드라이버가 메모리를 할당하려고 하면 Windows 운영 체제가 다른 애플리케이션의 작업 집합을 페이징 아웃할 수 있습니다.When a device driver tries to allocate memory, the Windows operating system may page out the working set of other applications. 이 Windows 핫픽스를 사용하면 이벤트 추적을 사용하여 문제를 일으킨 디바이스 드라이버를 찾을 수 있습니다.This Windows hotfix lets you use event tracing to find the device driver that causes problem. 작업 집합 트리밍 동작을 유발하는 특정 드라이버에 대한 자세한 정보를 확인하려면 연속 메모리를 할당하는 드라이버 식별을 참조하세요.To find more information about the specific driver that causes the working set trimming behavior, see Identifying Drivers That Allocate Contiguous Memory.

  • 운영 체제 문제: Windows 운영 체제가 SQL ServerSQL Server 프로세스의 작업 집합을 페이징 아웃하도록 하는 알려진 문제를 해결하려면 다음 Microsoft 기술 자료 문서에 설명된 핫픽스를 적용하세요.Operating System Issues: To resolve the known issues that cause the Windows operating system to page out the working set of the SQL ServerSQL Server process, apply the hotfixes that are described in the following Microsoft Knowledge Base articles.

    注意

    핫픽스는 누적됩니다.Hotfixes are cumulative. 최신 버전의 핫픽스에는 해당 핫픽스의 이전 버전이 포함되어 있습니다.A later version of a hotfix contains the earlier versions of that hotfix.

"메모리의 페이지 잠금" 사용자 권한을 할당하기 전의 중요한 고려 사항Important considerations before you assign the "Lock pages in memory" user right

메모리의 페이지 잠금 사용자 권한을 할당하기 전에 추가로 고려해야 할 사항이 있습니다.You should make additional considerations before you assign the Lock pages in memory user right. 잘못 구성된 시스템에 이 사용자 권한을 할당하면 시스템이 불안정해질 수도 있고 전체 시스템의 성능이 저하될 수도 있습니다.If you assign this user right on systems that are configured incorrectly, the system may become unstable or experience a performance decrease of the whole system. 또한 이벤트 로그에 이벤트 ID 333이 기록될 수 있습니다.Additionally, event ID 333 may be logged in the event log.

Microsoft CSS(고객 지원 서비스)에 이러한 문제를 문의할 경우 CSS 엔지니어가 SQL ServerSQL Server 서비스의 시작 계정으로 사용되는 사용자 계정에서 이 사용자 권한을 취소하도록 요청할 수 있습니다.If you contact Microsoft Customer Support Service (CSS) for these problems, CSS engineers may ask you to revoke this user right for the user account that is used as the startup account of the SQL ServerSQL Server service. 이 조치는 CSS 엔지니어가 SQL ServerSQL Server 및 시스템에서 실행되는 다른 애플리케이션에 필요한 다양한 옵션을 구성하는 데 사용할 수 있는 중요한 성능 데이터를 수집하는 데 필요할 수 있습니다.This step may be necessary to collect important performance data that CSS engineers can use for necessary configuration of the various options for SQL ServerSQL Server and for other applications that are running on the system. CSS 엔지니어가 성능 데이터를 수집한 후에는 SQL ServerSQL Server 서비스의 시작 계정에 메모리의 페이지 잠금 사용자 권한을 할당할 수 있습니다.After CSS engineers collect the performance data, you can assign the Lock pages in memory user right to the startup account of the SQL ServerSQL Server service.

메모리의 페이지 잠금 사용자 권한을 할당하기 전에 시스템에 설치된 다양한 애플리케이션 및 서비스의 메모리 요구 사항을 확인할 수 있도록 성능 모니터 로그를 캡처해야 합니다.Before you assign the Lock pages in memory user right, make sure that you capture a Performance Monitor log to determine the memory requirements of various applications and services that are installed on the system. 이러한 애플리케이션에는 SQL Server도 포함됩니다.These applications also include SQL Server. 메모리 요구 사항을 확인하려면 다음 기준 정보를 수집합니다.To determine the memory requirements, collect the following baseline information:

  • 최대 서버 메모리 옵션 및 최소 서버 메모리 옵션을 올바르게 설정했는지 확인합니다.Make sure that you set the max server memory option and the min server memory option correctly. 이러한 옵션은 SQL ServerSQL Server 프로세스의 버퍼 풀에 대한 메모리 요구 사항만을 반영하며,These options reflect only the memory requirement of the buffer pool of the SQL ServerSQL Server process. SQL ServerSQL Server 프로세스 내의 다른 구성 요소에 할당된 메모리는 포함되지 않습니다.These options do not include the memory that is allocated for other components within the SQL ServerSQL Server process. 이러한 구성 요소에는 다음이 포함됩니다.These components include the following:

    • SQL ServerSQL Server 작업자 스레드The SQL ServerSQL Server worker threads
    • SQL ServerSQL Server 프로세스가 SQL ServerSQL Server 프로세스의 주소 공간 내에서 로드하는 다양한 DLL 및 구성 요소Various DLLs and components that the SQL ServerSQL Server process loads within the address space of the SQL ServerSQL Server process
    • 백업 및 복원 작업The Backup and restore operations
  • DLL 및 구성 요소에는 sp_OACreate 저장 프로시저, 연결된 서버 및 SQL ServerSQL Server CLR에 사용되는 다양한 OLE DB 공급자, 확장 저장 프로시저, Microsoft COM 개체가 포함됩니다.The DLLs and components include various OLE DB providers, extended stored procedures, Microsoft COM objects that are used for the sp_OACreate stored procedure, linked servers, and SQL ServerSQL Server CLR. 이러한 구성 요소에 할당된 메모리는 SQL ServerSQL Server 프로세스의 주소 공간에서 비 버퍼 풀 영역에 속합니다.Memory that is allocated for these components falls under the nonbuffer pool region of the address space of the SQL ServerSQL Server process. 전체 SQL ServerSQL Server 프로세스가 사용할 수 있는 최대 메모리 양을 적절히 결정하려면 SQL ServerSQL Server 프로세스에 사용하려는 총 메모리에서 버퍼 풀을 사용하지 않는 구성 요소에 할당된 메모리를 빼야 합니다.To ideally determine the maximum amount of memory that the whole SQL ServerSQL Server process can use, you must subtract the memory that is allocated for components that do not use the buffer pool from the total memory that you want the SQL ServerSQL Server process to use. 그런 다음 나머지 값을 사용하여 최대 서버 메모리 옵션을 설정할 수 있습니다.Then, you can use the remainder value to set the max server memory option. 최대 서버 메모리 옵션 및 최소 서버 메모리 옵션을 설정하기 전에 SQL ServerSQL Server 온라인 설명서의 "메모리 옵션 수동 설정" 항목을 신중하게 검토해야 합니다.Before you set the max server memory option and the min server memory option, you should carefully review the "Setting the memory options manually" topic in SQL ServerSQL Server Books Online.

  • 다른 애플리케이션 및 Windows 운영 체제 구성 요소의 메모리 요구 사항을 확인합니다.Determine the memory requirement of other applications and of the Windows operating system components. 애플리케이션에는 SQL ServerSQL Server Agent, SQL ServerSQL Server Replication Agents, SQL ServerSQL Server Reporting Services, SQL ServerSQL Server Analysis Services, SQL ServerSQL Server Integration Services, SQL ServerSQL Server Full Text Search 등의 다른 SQL ServerSQL Server 구성 요소가 포함될 수 있습니다.Applications may include other SQL ServerSQL Server components, for example, SQL ServerSQL Server Agent, SQL ServerSQL Server Replication Agents, SQL ServerSQL Server Reporting Services, SQL ServerSQL Server Analysis Services, SQL ServerSQL Server Integration Services, and SQL ServerSQL Server Full Text Search. 백업 작업 및 파일 복사 작업을 수행하는 애플리케이션은 많은 메모리를 사용할 수 있습니다.Applications that perform Backup operations and file copy operations may use lots of memories. 대량 복사 및 파일 IO를 생성하는 스냅샷 에이전트와 같은 작업을 고려합니다.Consider operations such as bulk copy and the Snapshot Agent that generate file IO. 최대 서버 메모리 옵션 및 최소 서버 메모리 옵션의 값을 결정할 때 이러한 모든 애플리케이션의 메모리 요구 사항을 고려해야 합니다.You must consider the memory requirement of all these applications when you determine the value of the max server memory option and of the min server memory option. 모든 프로세스에 대한 프로세스 개체에서 전용 바이트 카운터 및 작업 집합 카운터를 사용하여 특정 프로세스의 메모리 요구 사항을 확인할 수 있습니다.You can use the Private Bytes counter and the Working Set counter under the Process object for every process to determine the memory requirement for a specific process.

  • 기본적으로 메모리의 페이지 잠금 사용자 권한은 기본 제공되는 로컬 시스템 계정에 이미 할당되어 있습니다.By default, the Lock pages in memory user right have already been assigned to the built-in Local System account. 자세한 내용은 다음 Microsoft 웹 사이트를 방문하세요. 로컬 시스템에서 메모리의 페이지 잠금 권한을 할당해야 하나요?For more information, visit the following Microsoft Web site: Do I have to assign the Lock pages in Memory privilege for Local system?

  • 도메인의 모든 SQL ServerSQL Server 프로세스에 대해 전역적으로 Windows 사용자 계정을 사용하는 경우 그룹 정책 구성을 사용하여 할당된 사용자 권한을 결정합니다.If you use a Windows user account globally for all SQL ServerSQL Server processes in a domain, determine the user rights that are assigned by using a Group Policy configuration. 32비트 SQL ServerSQL Server 프로세스에서는 이 계정을 시작 계정으로 사용할 수 있습니다.A 32-bit SQL ServerSQL Server process may use this account as the startup account. 그러나 이 계정에는 AWE(Address Windowing Extensions) 기능을 사용하도록 설정하기 위해 메모리의 페이지 잠금 사용자 권한이 필요합니다.However, this account requires the Lock pages in memory user right to enable the Address Windowing Extensions (AWE) feature. 자세한 내용은 SQL ServerSQL Server 온라인 설명서의 "SQL Server 최대 메모리 양 제공" 항목을 참조하세요.For more information, see the "Providing the maximum amount of memory to SQL Server" topic in SQL ServerSQL Server Books Online.

  • 여러 SQL ServerSQL Server 인스턴스에 대한 최대 서버 메모리 옵션 및 최소 서버 메모리 옵션을 구성하기 전에 각 SQL Server 인스턴스의 비 버퍼 풀 메모리 요구 사항을 고려해야 합니다.Before you configure the max server memory option and the min server memory option for multiple SQL ServerSQL Server instances, consider the memory requirements of the nonbuffer pool for each instance of SQL Server. 그런 다음 각 SQL Server 인스턴스에서 이러한 옵션을 구성합니다.Then, configure these options for each instance of SQL Server.

이 기준 정보를 피크 부하 중에 수집하는 것이 가장 좋습니다.Ideally, you collect this baseline information during peak loads. 따라서 다양한 애플리케이션 및 구성 요소에서 피크 부하를 지원하기 위한 메모리 요구 사항을 확인할 수 있습니다.Therefore, you can determine the memory requirements for various applications and components to support the peak load. 메모리 요구 사항은 시스템에서 실행되는 애플리케이션 및 작업에 따라 시스템마다 다릅니다.The memory requirements vary from one system to another system, depending on the activities and the applications that are running on the system. 동적 관리 뷰 sys.dm_os_process_memory에서 제공하는 정보를 쿼리하여 시스템에 메모리 부족 상태가 발생하는지 여부를 파악할 수 있습니다.You can query the information that is provided in the dynamic management view sys.dm_os_process_memory to understand whether the system is encountering low memory conditions. 자세한 내용은 sys.dm_os_process_memory(Transact-SQL)를 참조하세요.For more information, see sys.dm_os_process_memory (Transact-SQL).

Windows Server 2008 및 R2 버전에 추가된 개선 사항Improvements added in Windows Server 2008 and R2 version

Windows Server 2008 및 Windows Server 2008 R2에서는 연속 메모리 할당 메커니즘이 개선되었습니다.Windows Server 2008 and Windows Server 2008 R2 improve the contiguous memory allocation mechanism. 이 기능 개선을 통해 Windows Server 2008 및 Windows Server 2008 R2는 새 메모리 요청이 도달했을 때 애플리케이션의 작업 집합을 페이징 아웃하는 효과를 특정 범위로 줄일 수 있습니다.This improvement lets Windows Server 2008 and Windows Server 2008 R2 reduce to a certain extent the effects of paging out the working set of applications when new memory requests arrive.

다음은 Microsoft 백서 "Advances in Memory Management in Windows"에 수록된 기능 개선에 대한 설명입니다.The following is an explanation of the improvements from the Microsoft whitepaper "Advances in Memory Management in Windows":

Windows Server 2008에서는 물리적으로 인접한 메모리의 할당이 크게 향상되었습니다. 메모리 관리자는 이제 대부분의 경우 작업 집합을 트리밍하거나 I/O 작업을 수행하지 않고 페이지를 동적으로 대체하기 때문에 연속 메모리 할당 요청이 성공할 가능성이 훨씬 높아집니다. 게다가 이제는 커널 스택 및 파일 시스템 메타데이터 페이지와 같은 다른 많은 유형의 페이지를 대체에 사용할 수 있습니다. 따라서 특정 시점에 더 많은 연속 메모리를 사용할 수 있습니다. 또한 이러한 할당을 확보하는 비용이 크게 줄어들었습니다.In Windows Server 2008, the allocation of physically contiguous memory is greatly enhanced. Requests to allocate contiguous memory are much more likely to succeed because the memory manager now dynamically replaces pages, typically without trimming the working set or performing I/O operations. In addition, many more types of pages—such as kernel stacks and file system metadata pages, among others—are now candidates for replacement. Consequently, more contiguous memory is generally available at any given time. In addition, the cost to obtain such allocations is greatly reduced.

자세한 내용은 SQL Server 작업 집합 트리밍 문제를 참조하세요.For more information, view SQL Server Working Set Trim Problems.

이 문서에서 설명하는 타사 제품은 Microsoft가 아닌 회사에서 제조되었습니다.The third-party products that this article discusses are manufactured by companies that are independent of Microsoft. Microsoft는 이러한 제품의 성능에 대한 어떠한 묵시적 또는 다른 형태의 보증도 하지 않습니다.Microsoft makes no warranty, implied or otherwise, about the performance or reliability of these products.