페이징 버퍼 풀 메모리를 64 비트 버전의 SQL Server [NULL]를 줄이는 방법

기술 자료 번역 기술 자료 번역
기술 자료: 918483 - 이 문서가 적용되는 제품 보기.
모두 확대 | 모두 축소

이 페이지에서

요약

Microsoft SQL Server 시스템 활동의 현재 로드 및 메모리 요구 사항을 기반으로 하는 동적 메모리 관리를 수행 합니다. Windows Server 2003 Windows XP 또는 최신 버전의 시스템에, SQL Server QueryMemoryResourceNotification Windows API에 의해 제공 되는 메모리 알림 메커니즘을 사용할 수 있습니다. Microsoft Windows 2000 Server 기반 시스템에서 SQL Server 주기적으로 시스템에서 사용 가능한 실제 메모리가 네이티브 Windows API를 사용 하 여 계산 합니다. QueryMemoryResourceNotification Windows API 또는 메모리 계산에서이 정보를 토대로 SQL Server 특정 시스템에서 현재 메모리 상황에 응답 합니다. 이 다음과 같은 이점을 제공합니다.
  • 시스템 SQL Server 프로세스의 작업 집합 아웃 페이지 되지 않습니다.
  • 필요한 데이터베이스 페이지는 실제 I/O 요구를 줄이는 메모리에서 사용할 수 있습니다.
자세한 내용은 "동적 메모리 관리" 항목과 SQL Server 온라인 설명서에서 "서버 메모리 옵션" 항목을 참조 하십시오.

현상

SQL Server [NULL]의 64 비트 버전에는 다양 한 문제가 발생할 수 있습니다. 예를 들어, 다음과 같은 문제가 발생 합니다.
  • SQL Server [NULL]의 성능을 갑자기 감소합니다.
  • SQL Server [NULL]를 실행 하는 컴퓨터에 잠시 동안 응답을 중지 합니다.
  • SQL Server [NULL]에 연결 하는 응용 프로그램에 대 한 제한 시간을 발생 합니다.
  • 간단한 명령을 실행 하거나 시스템에서 응용 프로그램을 사용 하는 경우에 문제가 발생 합니다.
SQL Server 2005 서비스 팩 2 (SP2) 또는 이후 버전을 설치 하는 경우 이러한 문제가 발생 하면 다음 오류 메시지 중 하나가 SQL Server 오류 로그에 기록 됩니다.
오류 메시지 1
date time spid1s A sql 서버 프로세스 메모리의 중요 한 부분 페이징 아웃 되어 있습니다. 이렇게 하면 성능이 저하 될 수 있습니다. 기간: 0 초입니다. 작업 집합 (KB): 1086400, 커밋된 (크기 KB): 2160928, 메모리 사용률: 50%.
오류 메시지 2
date time spid1s A sql 서버 프로세스 메모리의 중요 한 부분 페이징 아웃 되어 있습니다. 이렇게 하면 성능이 저하 될 수 있습니다. 기간: 315 초입니다. 작업 집합 (KB): 410156, 커밋된 (크기 KB): 2201296, 메모리 사용률: 18%.
오류 메시지 3
date time spid1s A sql 서버 프로세스 메모리의 중요 한 부분 페이징 아웃 되어 있습니다. 이렇게 하면 성능이 저하 될 수 있습니다. 기간: 646 초입니다. 작업 집합 (KB): 901904, 커밋된 (크기 KB): 2215752, 메모리 사용률: 40%.

Microsoft SQL Server 지원 팀도 추가 오류 메시지나 경고 SQL Server 오류 로그에서 또는 Windows 이벤트 로그에 기록 되지 않습니다 발견 했습니다. 이러한 메시지는 다음과 유사 합니다.
2009-05-05 15:43:56.01 Server      Resource Monitor (0x13c43) Worker 0x0412C1E8 appears to be non-yielding on Node 0. Memory freed: 34152 KB. Approx CPU Used: kernel 171 ms, user 140 ms, Interval: 125093.

2009-05-05 12:54:52.18 Server      * *******************************************************************************
2009-05-05 12:54:52.18 Server      * BEGIN STACK DUMP:
2009-05-05 12:54:52.18 Server      *   05/05/08 12:54:52 spid 0
2009-05-05 12:54:52.18 Server      * Non-yielding Resource Monitor
2009-05-05 12:54:52.18 Server      * *******************************************************************************

2009-06-10 09:13:53.44 Server      * *******************************************************************************
2009-06-10 09:13:53.44 Server      * BEGIN STACK DUMP:
2009-06-10 09:13:53.44 Server      *   06/10/09 09:13:53 spid 0
2009-06-10 09:13:53.44 Server      * Non-yielding IOCP Listener
2009-06-10 09:13:53.44 Server      * *******************************************************************************

2009-06-10 09:13:55.85 spid2s      LazyWriter: warning, no free buffers found.

2009-07-15 13:27:45.35 spid4s      AppDomain xx (SQLCLR.dbo[runtime].xx) is marked for unload due to memory pressure.
2009-07-15 13:27:45.35 spid4s      AppDomain xx (SQLCLR.dbo[runtime].xx) unloaded.

2009-07-15 13:37:51.42 Logon       Error: 17189, Severity: 16, State: 1.
2009-07-15 13:37:51.42 Logon       SQL Server failed with error code 0xc0000000 to spawn a thread to process a new login or connection. Check the SQL Server error log and the Windows event logs for information about possible related problems. [CLIENT: xx.xxx.xx.xx]

Event Type:	Error
Event Source:	SQLBrowser
Event ID:	8
Description: The SQLBrowser service was unable to process a client request. 
이러한 추가 오류 메시지나 경고 함께 "sql 서버 프로세스 메모리의 중요 한 일부 페이징 아웃 되었습니다 되었습니다" 오류가 나타날 메시지. 몇 가지 경우에 따라 이러한 추가 오류 메시지나 경고 함께 오류 메시지가 나타나지 않는.

이러한 오류 메시지 또는 경고를 확인 하는 경우 SQL 서버 원인 뿐 아니라 발생할 수 있지만이 문서에서 설명 하는 집합 페이징 작업을 고려 하십시오. 이러한 추가 오류 메시지나 경고 다양 한 다른 조건 또는 원인 때문에 기록 될 수 있습니다.

원인

이 문제를 발생 하 여 Windows 운영 체제 페이지 SQL Server 프로세스의 작업 집합을 축소 합니다.

SQL Server 프로세스의 작업 집합을 50%에 도달 하면 이러한 오류 메시지가 기록 됩니다 또는 SQL Server 프로세스에 커밋된 메모리의 작은. 이러한 오류 메시지를 Windows 운영 체제 페이지 SQL Server 프로세스의 작업 집합 밖에 있으므로 SQL Server 성능이 크게 저하 된다 경우 확인할 수 있습니다. 또한 이러한 오류 메시지는 처음 30 분 동안 5 분 마다 기록 됩니다. 하루 최대 빈도 도달할 때까지 첫 번째 30 분 후에 이러한 오류 메시지 중 빈도 두 배가 됩니다.

이 문제가 발생 하면 시스템에 다른 응용 프로그램의 작업 집합 또한 out 동시 해결 페이징되는지 나타날 수 있습니다.
자세한 내용은 다음 Microsoft 웹 사이트를 방문 하십시오.
http://blogs.msdn.com/psssql/archive/2007/05/31/the-sql-server-working-set-message.aspx
또한 알려진된 문제는 SQL 서버에서 인스턴스를이 오류 메시지가 나타날 수 있습니다. 오류 메시지는 SQL Server [NULL]를 시작 하는 동안 SQL Server 오류 로그에 기록 됩니다. 오류 메시지는 false 경고 수 있습니다. 따라서 해당 작업 집합 트리밍 실제로 발생 했음을 나타낼 수 있습니다지 않습니다. 자세한 내용은 다음 Microsoft 웹 사이트를 방문 하십시오.
http://blogs.msdn.com/psssql/archive/2009/05/12/sql-server-reports-working-set-trim-warning-message-during-early-startup-phase.aspx

해결 과정

이 문제를 해결 하려고 하기 전에이 문제를 해결 하려면 "이이 문제를 해결 하는 방법" 절의 단계를 수행 합니다.

이 문제가 여전히 발생 하는 경우에 Windows 운영 체제 페이징 아웃 버퍼 풀 메모리의 SQL Server 프로세스에서에서 실제 메모리를 버퍼 풀에 할당 된 메모리를 잠가 방지할 수 있습니다. 메모리를 할당 하 여 잠글는 메모리의 페이지 잠그기 SQL Server 서비스 시작 계정으로 사용 권한을 사용자 계정에 대 한 사용자입니다.

참고 SQL Server Enterprise Edition의 64 비트 버전의 SQL Server [NULL]를 사용할 수 있습니다의 메모리의 페이지 잠그기 사용자 권한 SQL Server 2005 [RTM, SP1, SP2, SP3] 및 [RTM 및 SP1] 2008 SQL Server에 해당 됩니다. SQL Server 2008 SP1 누적 업데이트 2 및 SQL Server 2005 SP3 누적 업데이트 4 소개 지원 SQL Server 표준 버전을 사용 하 여 메모리의 페이지 잠그기 사용자 권한 64 비트 시스템에서 잠긴된 페이지 지원에 대 한 자세한 내용은 Microsoft 기술 자료의 다음 문서 번호를 클릭 합니다.
970070SQL Server 2005 표준 버전 64 비트 시스템 및 SQL Server 2008 표준 에디션 64 비트 시스템에서 잠긴 페이지에 대 한 지원
할당 하는 메모리의 페이지 잠그기 사용자 권한을, 다음과 같이 하십시오.
  1. 클릭 시작를 클릭 실행, <Td>종류 gpedit.msc를 클릭 하 고 다음을 누릅니다. 확인.

    참고그룹 정책 대화 상자가 나타납니다.
  2. 확장 컴퓨터 구성을 차례로 확장 하 고 Windows 설정.
  3. 확장 보안 설정을 차례로 확장 하 고로컬 정책.
  4. 클릭 사용자 권한 할당를 두 번 누른 다음 페이지 잠금 Memory.
  5. 로컬 보안 정책 설정대화 상자에서 클릭 사용자 또는 그룹을 추가 합니다..
  6. 사용자 또는 그룹을 선택 합니다. 대화 상자 Sqlservr.exe 파일을 실행 하 고 다음을 클릭 합니다. 사용 권한이 있는 계정을 추가 합니다.확인.
  7. 닫기는 그룹 정책 대화 상자를 엽니다.
  8. SQL Server 서비스를 다시 시작 합니다.
사용자에 게 할당 한 후에 메모리의 페이지 잠그기 사용자 오른쪽이 고 SQL Server 서비스를 다시 시작, Windows 운영 체제에 더 이상 페이지를 버퍼 풀 메모리 SQL Server 내에서 처리 합니다. 그러나 Windows 운영 체제 nonbuffer 풀 메모리 SQL Server 프로세스 내에서 계속 페이지 수 있습니다.

시작할 때 SQL Server 오류 로그에 다음과 같은 메시지가 기록 하 여 사용자의 권한을 SQL Server 인스턴스에서 사용 됩니다 유효성을 검사할 수 있습니다.
버퍼 풀의 잠긴된 페이지를 사용합니다.
이 메시지는 SQL Server [NULL]의 64 비트 버전에만 적용 됩니다. 이 메시지는 오류 로그에 대 한 자세한 내용은 다음 Microsoft 웹 사이트를 방문 하십시오.
http://blogs.msdn.com/psssql/archive/2007/10/18/do-i-have-to-assign-the-lock-privilege-for-local-system.aspx
Windows 운영 체제 페이지 nonbuffer 페이지 된 풀 메모리가 부족 한 경우에 성능 문제가 발생할 수 있습니다. 그러나 "현상" 절에 나와 있는 오류 메시지는 SQL Server 오류 로그에 기록 됩니다지 않습니다. SQL Server 프로세스의 작업 집합 50% 일반적으로 도달 하지 않습니다 때문에이 문제가 발생 또는 커밋된 메모리를 적게 합니다.

추가 정보

이 문제를 해결 하는 방법

이 문제를 해결 하려면 다음과 같이 하십시오.
  1. SQL Server 프로세스의 작업 집합 아웃 페이지에 Windows 운영 체제에서 발생할 수 있는 문제점을 해결 하려면 다음 Microsoft 기술 자료 문서에서 설명 하는 핫픽스를 적용 합니다.

    참고 핫픽스는 누적 됩니다. 이후 버전을의 핫픽스 이전 버전을의 핫픽스가 포함 되어 있습니다.
    • Microsoft 작업으로 집합의 64 비트 버전의 SQL Server 하지 않을 수 있는 문제를 발견 했습니다. 트림 합니다. 자세한 내용은 Microsoft 기술 자료의 다음 문서 번호를 클릭 하십시오.
      905865터미널 서비스를 사용 하 여 로그온 하거나 Windows Server 2003을 실행 하는 컴퓨터에서 로그 오프 하면 콘솔 세션의 모든 프로세스의 작업 집합 크기가 줄어들 수 있다
    • 컴퓨터 실행 중인 Windows Server 2003 수 너무 적극적인가 캐시 응용 프로그램 파일과 같은 버퍼링 된 I/O를 수행 하는 경우 커밋되지 않은 버퍼 작업을 복사 합니다. 이 문제는 작업 집합 잘라내야 할 SQL 서버에서 발생할 수 있습니다. 자세한 내용은 Microsoft 기술 자료의 다음 문서 번호를 클릭 하십시오.
      920739Windows Server 2003 S 또는 Windows Server 2003 S 500 MB 약 보다 큰 파일을 복사할 때 전체적인 시스템 성능이 저하를 겪을 수합니다 있습니다.
    • 일부 고급 TCP 기능 시스템을 사용 하는 경우에 SQL 서버 작업 집합 줄어들 수 있습니다. 자세한 내용은 Microsoft 기술 자료의 다음 문서 번호를 클릭 하십시오.
      942861응용 프로그램을 SQL Server [NULL]에 Windows Server 2003을 실행 하는 서버에 연결할 때 오류 메시지: "일반 네트워크 오류", "통신 연결 오류" 또는 "전송 수준 오류가 발생"
    • Windows Server 2003을 실행 하는 다중 프로세서 컴퓨터에서 시스템 프로세스의 사용 가능한 시스템 메모리 대부분을 사용할 수 있습니다. 자세한 내용은 Microsoft 기술 자료의 다음 문서 번호를 클릭 하십시오.
      942486시스템 프로세스의 Windows Server 2003을 실행 하는 다중 프로세서 컴퓨터에서 사용 가능한 시스템 메모리 대부분을 사용할 수 있습니다.
  2. 장치 드라이버를 사용 하는 경우는 MmAllocateContiguousMemory 함수에서 값을 설정 하는 경우는 HighestAcceptableAddress 4 기가바이트 (GB) 보다 작은 매개 변수와 Windows 운영 체제 SQL Server 64 비트 프로세스의 작업 집합 아웃 페이지 수 있습니다. 이 문제를 해결 하려면 드라이버 업데이트를 장치 드라이버 공급 업체를 문의 하십시오. 문제가 발생 한 드라이버 목록을 보려면 "다른 공급 업체" 절의 Microsoft 기술 자료의 다음 문서를 참조 하십시오.
    2121098 권장 운영 체제 업데이트 및 드라이버를 SQL Server 설치
  3. 이 핫픽스를 적용 한 후 이러한 문제가 여전히 발생 하는 경우 프로세스 당 트리밍 작업 수가 제한 Windows 핫픽스를 적용 합니다. 자세한 내용은 Microsoft 기술 자료의 다음 문서 번호를 클릭 하십시오.
    938486많은 양의 메모리 요청에 정해 지지 않은 모듈에 의해 발생 하는 메모리 관리자 트리밍 작업 인해 Windows Server 2003 기반 컴퓨터가 응답 하지 않게 됩니다.
    956341 Windows Server 2003 기반 컴퓨터는 대용량 메모리 할당 요청으로 인해 응답 하지 않습니다.
    장치 드라이버에서 메모리를 할당 하려고 하면 Windows 운영 체제는 다른 응용 프로그램의 작업 집합 아웃 페이지 있습니다. 이 Windows 핫픽스 이벤트 추적을 사용 하 여 문제를 일으키는 장치 드라이버를 찾을 수 있습니다. 작업 집합 트리밍 문제를 일으키는 특정 드라이버에 대 한 자세한 내용을 보려면 MSDN 기사 "연속 메모리를 할당 하는 드라이버를 확인 합니다.."
  4. 응용 프로그램 시스템 캐시가 너무 사용 및 대형 시스템 캐시 증가 될 수 있습니다. 시스템 캐시의 증가에 대처 하기 위해 시스템 페이지 SQL Server 프로세스 또는 다른 응용 프로그램의 작업 집합을 축소 합니다. 이 문제가 발생 하는 경우 응용 프로그램에서 일부 메모리 관리 기능을 사용할 수 있습니다. 이러한 기능은 파일 I/O 작업에는 응용 프로그램에서 사용할 수 있는 시스템 캐시 공간을 제어할 수 있습니다. 예를 들어, 사용할 수 있는 SetSystemFileCacheSize 함수 및 GetSystemFileCacheSize 함수는 파일 I/O 작업에 사용할 수 있는 시스템 캐시 공간을 제어할 수 있습니다.

    Memory 성능 개체를 시스템 캐시 작업 집합에서 너무 많은 메모리를 사용 하는지 확인 하려면이 개체의 다양 한 카운터를 볼 수 있습니다. 예를 들어, 캐시 바이트 및 시스템 캐시 상주 바이트 카운터를 볼 수 있습니다. 이 항목에 대 한 자세한 내용은 다음 Microsoft 웹 사이트를 방문 하십시오.
    http://blogs.msdn.com/ntdebugging/archive/2007/11/27/too-much-cache.aspx

    http://blogs.msdn.com/ntdebugging/archive/2009/02/06/microsoft-windows-dynamic-cache-service.aspx

    http://support.microsoft.com/default.aspx?scid=kb;EN-US; 976618
    다운로드 하 고 "Microsoft Windows 동적 캐시 시스템 캐시에 의해 사용 되는 메모리 제어 서비스"를 배포할 수 있습니다.
  5. SAP R/3와 함께 SQL Server [NULL]를 실행 하는 경우에 페이징 문제가 발생할 수 있습니다. 자세한 내용은 Microsoft 기술 자료의 다음 문서 번호를 클릭 하십시오.
    931308Windows Server 2003 기반 컴퓨터에서 SAP R/3 프로그램을 실행 하면 하드 디스크 페이징을 증가 발생할 수 있습니다.
  6. Windows Server 2008에서 SQL Server [NULL]를 실행 하는 경우 다른 운영 체제 구성 요소에서 작업과 집합 자르기 또는 불필요 한 과다 한 메모리 소비를 유발할 수 있는 알려진된 문제에 대 한 수정 프로그램을 적용 해야 합니다. 자세한 내용은 Microsoft 기술 자료의 다음 문서 번호를 클릭 하십시오.

    971442 Windows Server 2008 또는 Windows Vista를 실행 하는 서버는 네트워크를 통해 파일을 복사 하는 경우에 심각 하 게 서버의 시스템 성능이 저하 됩니다.

    974609 큰 응용 프로그램을 실행 하면 컴퓨터가 응답 하지 임의로 Windows Server 2008을 실행 하는 컴퓨터를 중지 합니다.

    971714 보고서 생성 프로세스 perfmon.exe를 실행 하 여 Active Directory 진단 템플릿이 Windows Server 2008 기반 도메인 컨트롤러에 대 한 보고서를 생성할 때 응답 하지 않을 수 있음
  7. SQL Server Windows 역할 2008 r 2를 실행 하는 경우 작업 집합 자르기에 발생할 수 있는 알려진된 문제에 대 한 수정 프로그램을 적용 해야 합니다. 자세한 내용은 Microsoft 기술 자료의 다음 문서 번호를 클릭 하십시오.
    979149 큰 응용 프로그램을 실행할 때 Windows 7 또는 Windows Server 2008 R2 실행 하는 컴퓨터는 응답 하지 않게 됩니다.

    2155311 NUMA 기반 프로세서가 있고 스레드 요청 많은 첫 4GB의 메모리 내의 메모리 경우 Windows Server 2008 R2 또는 Windows 7 실행 되는 컴퓨터의 성능 저하 발생

    2468345 컴퓨터는 간헐적으로 떨어지는 또는 Storport 드라이버를 사용 하 여 Windows Server 2008 r 2의 경우 응답 하지 않는다

SQL Server [NULL]의 64 비트 버전에서 사용 되는 메모리를 확인 하는 방법

성능 모니터를 사용 하는 메모리 페이지를 볼 수 있습니다. SQL Server [NULL]의 64 비트 버전에서 사용 됩니다. 이렇게 하려면 다음 성능을 모니터링 합니다. 카운터:
성능 개체: 메모리
Pages/Sec 카운터:
이 카운터를 사용 하 여 확인 하는 방법에 대 한 자세한 내용은 메모리 페이지에서 문서를 보려면 다음 문서 번호를 클릭 합니다. 해당 Microsoft 기술 자료에서:
88965464 비트 버전의 Windows Server 2003 또는 Windows XP의 적절 한 페이지 파일 크기를 확인 하는 방법
또한 측정할 수 있는 다음 모니터링 하 여 64 비트 버전의 SQL Server [NULL]에 대 한 페이징의 영향 성능 카운터:
성능 개체: 프로세스
카운터: 전용 바이트
인스턴스: sqlservr

성능 개체: 프로세스
카운터: 작업 집합
인스턴스: sqlservr
현재 커밋된 메모리 전용 바이트 카운터를 측정 합니다. 프로세스에서 현재 사용 중인 실제 메모리 작업 집합 카운터를 측정 합니다. 64 비트 버전의 SQL Server 또한 버퍼 풀에 할당 된 메모리를 표시 하려면 다음 성능 카운터 사용:
성능 개체: SQL Server: 메모리 관리자
카운터: 전체 서버 Memory(KB)
참고 64 비트 버전의 SQL Server 명명 된 인스턴스를 인스턴스인 경우 성능 개체의 이름이입니다.
MSSQL $인스턴스 이름: 메모리 관리자
Working Set 카운터의 값이 전체 서버 Memory(KB) 카운터의 값 보다 작으면 버퍼 풀의 일부인 일부 메모리에서 트림 된 SQL Server 작업을 설정합니다.

사용자에 게 할당 한 후에 메모리의 페이지 잠그기 오른쪽 사용자가 고 SQL Server 서비스를 다시 시작, SQL Server 프로세스는 버퍼 풀 여전히 메모리 리소스 알림 이벤트에 응답 하 고 동적으로 증가 또는 감소 이러한 이벤트에 응답 하. 그러나 메모리 할당 버퍼 풀의 잠긴 메모리에 다음 성능 카운터를 볼 수 없습니다.
  • 전용 바이트 카운터 및 작업 집합 성능 모니터 카운터
  • 메모리 사용 열에는 프로세스 탭 작업 관리자
이러한 페이지를 잠근 되 면 해당 할당 버퍼 풀을 사용 하지 않으면 이러한 성능 카운터 SQL Server 프로세스 내의 메모리 할당을 나타냅니다. 총 서버 Memory(KB) SQL Server: 메모리 관리자 성능 개체의 카운터 버퍼 풀에 할당 되는 메모리를 정확 하 게 나타냅니다.

"메모리의 페이지 잠그기" 사용자는 64 비트 버전의 SQL Server 인스턴스에 대 한 권한을 할당 하기 전에 중요 한 고려 사항

사용자에 게 할당 하기 전에 추가로 고려해 야 할 야는 메모리의 페이지 잠그기 사용자 권한 이 사용자 권한을 잘못 구성 된 시스템에 할당 하는 경우는 시스템 불안정 하거나 전체 시스템 성능 저하. 또한 이벤트 ID 333 이벤트 로그에 기록 될 수 있습니다.

이러한 문제에 [NULL]에 대해 Microsoft 고객 지원 서비스 (CSS)에 게 문의 하는 경우 CSS 엔지니어 SQL Server 서비스 시작 계정으로 사용할 사용자 계정에이 사용자 권한을 해지 하도록 요청할 수도 있습니다. 이 단계는 CSS 엔지니어는 필요한 구성 시스템에서 실행 중인 다른 응용 프로그램 및 SQL Server [NULL]에 대 한 다양 한 옵션을 사용할 수 있는 중요 한 성능 데이터를 수집 해야 합니다. CSS 엔지니어는 성능 데이터를 수집 하 고 나면 할당할 수 있는 메모리의 페이지 잠그기 사용자 권한을 SQL Server 서비스의 시작 계정 합니다.

사용자에 게 할당 하기 전에 메모리의 페이지 잠그기 사용자 권한 확인 하면 다양 한 응용 프로그램 및 시스템에 설치 된 서비스의 메모리 요구 사항을 확인 하려면 성능 모니터 로그를 캡처할 확인 하십시오. 또한 이러한 응용 프로그램이은 SQL Server [NULL]를 포함합니다. 메모리 요구 사항을 결정 하려면 다음과 같은 초기 계획 정보를 수집 합니다.
  • 설정 하는 것이 있는지 확인 하십시오 있는 최대 서버 메모리 옵션 및 최소 서버 메모리 제대로 옵션. SQL Server 프로세스는 버퍼 풀의 메모리 요구 사항을 이러한 옵션을 반영합니다. 이러한 옵션 SQL Server 프로세스 내의 다른 구성 요소에 할당 된 메모리는 포함 하지 마십시오. 이러한 구성 요소는 다음과 같습니다.
    • SQL Server 작업자 스레드
    • 다중 페이지 할당자 SQL Server 메모리 관리자
    • 다양 한 Dll 및 SQL Server 프로세스 SQL Server 프로세스의 주소 공간에 로드 되는 구성 요소
    • 백업 및 복원 작업
  • 다양 한 OLE DB 공급자, 확장 저장된 프로시저 Dll 및 구성 요소를 포함 하 고 Microsoft COM 개체에 사용 되는 sp_OACreate 저장된 프로시저, 연결 된 서버 및 CLR SQL Server. 이러한 구성 요소에 할당 된 메모리 SQL Server 프로세스의 주소 공간에서 nonbuffer 풀 영역을 벗어납니다. 이상적으로 SQL Server 프로세스 전체에서 사용할 수 있는 메모리의 최대 크기를 확인 하려면 원하는 SQL Server 프로세스를 사용 하는 총 메모리 버퍼 풀을 사용 하지 않는 구성 요소에 할당 된 메모리를 빼야 합니다. 나머지 값을 사용 하 여 설정 하려면 다음을 최대 서버 메모리 옵션입니다. 설정 하기 전에 최대 서버 메모리 옵션 및 최소 서버 메모리 옵션을 신중 하 게 SQL Server 온라인 설명서의 "메모리 옵션을 수동으로 설정" 항목을 검토 해야 합니다.
  • Windows 운영 체제 구성 요소 및 기타 응용 프로그램의 메모리 요구 사항을 확인 합니다. 응용 프로그램 다른 SQL Server 구성, 예를 들어, SQL Server 에이전트, SQL Server 복제 에이전트, SQL Server Reporting Services, Analysis Services를 SQL Server, SQL Server 통합 서비스 및 SQL Server 전체 텍스트 검색에 포함 될 수 있습니다. 백업 작업 및 파일 복사 작업을 수행 하는 응용 프로그램은 메모리를 많이 사용할 수 있습니다. 파일 IO 생성할 대량 복사 및 스냅숏 에이전트 작업을 고려해 야 합니다. 값을 결정할 때 이러한 응용 프로그램의 메모리 요구 사항을 고려해 야 합니다은 최대 서버 메모리 옵션 및의 최소 서버 메모리 옵션입니다. 특정 프로세스의 메모리 요구 사항을 결정 하는 Private Bytes 카운터와 모든 프로세스에 대 한 프로세스 개체 아래의 Working Set 카운터를 사용할 수 있습니다.
  • 기본적으로 메모리의 페이지 잠그기 사용자 권한을 기본 제공 로컬 시스템 계정에 이미 할당 되었습니다. 자세한 내용은 다음 Microsoft 웹 사이트를 방문 하십시오.
    http://blogs.msdn.com/psssql/archive/2007/10/18/do-i-have-to-assign-the-lock-privilege-for-local-system.aspx
  • Windows 사용자 계정을 전역적으로 도메인에 있는 모든 SQL Server 프로세스를 사용 하는 경우는 그룹 정책 구성을 사용 하 여 할당 된 사용자 권한을 결정 합니다. SQL Server 32 비트 프로세스는 시작 계정으로이 계정을 사용할 수 있습니다. 그러나이 계정에 필요한의 메모리의 페이지 잠그기 주소 창 작업 확장 (AWE) 기능을 사용 하는 사용자 권한입니다. 자세한 내용은 SQL Server 온라인 설명서의 "메모리의 최대 양을 SQL Server [NULL]를 제공 하는 데 사용" 항목을 참조 하십시오.
  • 구성 하기 전에 최대 서버 메모리 옵션 및 최소 서버 메모리 SQL Server 여러 옵션, SQL Server [NULL]의 각 인스턴스에 대해 nonbuffer 풀의 메모리 요구 사항을 고려해 야 합니다. 그런 다음 SQL Server [NULL]의 각 인스턴스에 대해 이러한 옵션을 구성 합니다.
원칙적으로 최고 로드 중에이 초기 계획 정보를 수집합니다. 따라서 다양 한 응용 프로그램 및 구성 요소의 최대 로드를 지원 하기 위해 메모리 요구를 확인할 수 있습니다. 메모리 요구 사항을 한 시스템에서 다른 시스템으로 활동과 시스템에서 실행 되는 응용 프로그램에 따라 달라 집니다.

SQL Server 링 버퍼에서 정보가 페이징 발생할 때 메모리 조건의 확인할 수를 사용 하는 방법

SQL Server 링 버퍼에서 정보가 페이징 발생 하면 서버의 메모리 조건을 확인할 수 있습니다. 이 정보를 얻으려면 다음 스크립트와 같은 스크립트를 사용할 수 있습니다.
SELECT CONVERT (varchar(30), GETDATE(), 121) as runtime,
DATEADD (ms, -1 * (sys.ms_ticks - a.[Record Time]), GETDATE()) AS Notification_time,  
 a.* , sys.ms_ticks AS [Current Time]
 FROM 
 (SELECT x.value('(//Record/ResourceMonitor/Notification)[1]', 'varchar(30)') AS [Notification_type], 
 x.value('(//Record/MemoryRecord/MemoryUtilization)[1]', 'bigint') AS [MemoryUtilization %], 
 x.value('(//Record/MemoryRecord/TotalPhysicalMemory)[1]', 'bigint') AS [TotalPhysicalMemory_KB], 
 x.value('(//Record/MemoryRecord/AvailablePhysicalMemory)[1]', 'bigint') AS [AvailablePhysicalMemory_KB], 
 x.value('(//Record/MemoryRecord/TotalPageFile)[1]', 'bigint') AS [TotalPageFile_KB], 
 x.value('(//Record/MemoryRecord/AvailablePageFile)[1]', 'bigint') AS [AvailablePageFile_KB], 
 x.value('(//Record/MemoryRecord/TotalVirtualAddressSpace)[1]', 'bigint') AS [TotalVirtualAddressSpace_KB], 
 x.value('(//Record/MemoryRecord/AvailableVirtualAddressSpace)[1]', 'bigint') AS [AvailableVirtualAddressSpace_KB], 
 x.value('(//Record/MemoryNode/@id)[1]', 'bigint') AS [Node Id], 
 x.value('(//Record/MemoryNode/ReservedMemory)[1]', 'bigint') AS [SQL_ReservedMemory_KB], 
 x.value('(//Record/MemoryNode/CommittedMemory)[1]', 'bigint') AS [SQL_CommittedMemory_KB], 
 x.value('(//Record/@id)[1]', 'bigint') AS [Record Id], 
 x.value('(//Record/@type)[1]', 'varchar(30)') AS [Type], 
 x.value('(//Record/ResourceMonitor/Indicators)[1]', 'bigint') AS [Indicators], 
 x.value('(//Record/@time)[1]', 'bigint') AS [Record Time]
 FROM (SELECT CAST (record as xml) FROM sys.dm_os_ring_buffers 
 WHERE ring_buffer_type = 'RING_BUFFER_RESOURCE_MONITOR') AS R(x)) a 
CROSS JOIN sys.dm_os_sys_info sys
ORDER BY a.[Record Time] ASC

참고 이 쿼리는 SQL Server 2005와 SQL Server 2008에 [NULL]에 대해 유효합니다.

시스템 메모리 부족 조건이 발생 여부를 파악 하려면 동적 관리 뷰 sys.dm_os_process_memory에서 제공 하는 정보를 쿼리할 수 있습니다. 자세한 내용은 다음 MSDN 웹 사이트에서 SQL Server 2008 온라인 참조를 참조 하십시오.
http://msdn.microsoft.com/en-us/library/bb510747.aspx

SQL Server 2008 R2 BPA 정보

SQL Server 2008 R2 최상의 연습 분석기 (SQL Server 2008 R2 BPA) SQL Server 프로세스의 집합 자르기 작업 발생할 수 있는 상황을 감지 하는 여러 규칙을 제공 합니다. SQL Server 2008 R2 BPA 2008 SQL Server 및 SQL Server 2008 r 2를 지원합니다.

BPA 도구를 실행 하는 경우 "데이터베이스 엔진-SQL Server 메모리 설정이 잘못" 경고 메시지가 SQL Server 인스턴스의 최대 서버 메모리 설정 확인 "전에 중요 한 고려의이 '메모리의 페이지 잠그기' SQL Server [NULL]를 64 비트 버전의 인스턴스를 오른쪽 사용자 지정 하는 데 사용" 섹션의 권장 사항을 수행 해야 합니다.

BPA 도구를 실행 하 고 오류가 발생할 경우 "운영 체제 파일 및 드라이버 데이터베이스 엔진 업데이트 작업 집합 자르기에 대 한 필요" 본 문서의 "해결 방법" 절에서 설명한 모든 수정 내용을 검토 하 고 적용 해야 합니다.

BPA 도구를 실행 하 고 "데이터베이스 엔진에서 상당 부분 out 페이지 된 메모리가 SQL Server" 오류가 발생 하는 경우이 문서의 "해결 방법" 및 "해결 방법" 절을 검토 하 고 적절 한 작업을 수행 해야 합니다.

참조

표 축소표 확대
규칙 소프트웨어규칙 제목규칙 식별자입니다.
SQL Server 2008 R2 BPA 규칙SQL Server 메모리 설정이 올바르지 않습니다.RID3804
SQL Server 2008 R2 BPA 규칙 운영 체제 파일과 드라이버 업데이트 해야 작업 집합 자르기에 대 한 RID0059
SQL Server 2008 R2 BPA 규칙SQL Server 메모리의 상당한 부분 페이징를 다음 아웃RID0049

Windows Server 2008 R2 및 Windows Server 2008의에서 향상 된 기능


Windows Server 2008 및 Windows Server 2008 R2 연속 메모리 할당 메커니즘을 향상 시킵니다. 이 향상은 Windows Server 2008 및 Windows Server 2008 R2 새 메모리 요청을 도착할 때 응용 프로그램의 작업 집합을 페이징의 효과 어느 정도 줄일 수 있습니다.

다음은 Microsoft 백서 "발전의 메모리 관리에서 Windows"에서 향상 된 기능에 대 한 설명입니다.

Windows Server 2008에서 물리적으로 연속 메모리 할당을 크게 향상 되었습니다. 연속 메모리를 할당할 수 있는 요청 메모리 관리자는 이제 동적으로 페이지, 일반적으로 작업 집합 자르기 또는 I/O 작업을 수행 하지 않고 대체 하기 때문에 성공할 가능성이 훨씬입니다. 뿐만 아니라, 더 많은 유형의 페이지-커널 스택 등 파일 시스템 메타 데이터 페이지와 같은-지금 교체 해야 합니다. 결과적으로 연속 메모리 언제 든 지 일반적으로 사용할 수 있습니다. 또한 이러한 할당을 얻으려면 비용이 크게 줄어듭니다.
"발전의 메모리 관리에서 Windows" 백서를 보려면 다음 Microsoft 웹 사이트를 방문 하십시오.
http://download.microsoft.com/download/9/c/5/9c5b2167-8017-4bae-9fde-d599bac8184a/MemMgt.docx
자세한 내용은 다음 Microsoft 웹 사이트를 방문 하십시오.
http://blogs.msdn.com/psssql/archive/2008/03/03/sql-server-working-set-trim-problems-consider.aspx
http://support.microsoft.com/kb/2001745
참고 Windows Server 2008 기반 컴퓨터에서 SQL Server 서비스 팩 2 (SP2) 또는 서비스 팩을 나중에 SQL Server [NULL]를 설치 해야 합니다.

이 문서에서 설명 하는 타사 제품에는 Microsoft와 무관 한 회사에서 제조한 것입니다. Microsoft 어떠한 보증도, 묵시적 또는 성능 또는 안정성 이러한 제품에 대 한 보증도 하지 않습니다.

속성

기술 자료: 918483 - 마지막 검토: 2011년 7월 27일 수요일 - 수정: 2.0
본 문서의 정보는 다음의 제품에 적용됩니다.
  • Microsoft SQL Server 2005 Standard X64 Edition
  • Microsoft SQL Server 2005 Standard Edition for Itanium Based Systems
  • Microsoft SQL Server 2005 Enterprise X64 Edition
  • Microsoft SQL Server 2005 Enterprise Edition for Itanium Based Systems
  • Microsoft SQL Server 2008 Standard
  • Microsoft SQL Server 2008 Enterprise
키워드:?
kbsqlsetup kbsql2005engine kbexpertiseadvanced kbinfo kbmt KB918483 KbMtko
기계 번역된 문서
중요: 본 문서는 전문 번역가가 번역한 것이 아니라 Microsoft 기계 번역 소프트웨어로 번역한 것입니다. Microsoft는 번역가가 번역한 문서 및 기계 번역된 문서를 모두 제공하므로 Microsoft 기술 자료에 있는 모든 문서를 한글로 접할 수 있습니다. 그러나 기계 번역 문서가 항상 완벽한 것은 아닙니다. 따라서 기계 번역 문서에는 마치 외국인이 한국어로 말할 때 실수를 하는 것처럼 어휘, 구문 또는 문법에 오류가 있을 수 있습니다. Microsoft는 내용상의 오역 또는 Microsoft 고객이 이러한 오역을 사용함으로써 발생하는 부 정확성, 오류 또는 손해에 대해 책임을 지지 않습니다. Microsoft는 이러한 문제를 해결하기 위해 기계 번역 소프트웨어를 자주 업데이트하고 있습니다.
이 문서의 영문 버전 보기:918483

피드백 보내기

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com