Cómo reducir la paginación de memoria de grupo de búfer en la versión de 64 bits de SQL Server

Seleccione idioma Seleccione idioma
Id. de artículo: 918483 - Ver los productos a los que se aplica este artículo
Expandir todo | Contraer todo

En esta página

Resumen

Microsoft SQL Server se realiza según los requisitos de memoria de la carga actual y las actividades en el sistema de administración de memoria dinámica. En un equipo con Windows Server 2003 o un Windows XP o sistema posterior de versión, SQL Server puede utilizar los mecanismos de notificación de memoria que proporcionan la API de Windows QueryMemoryResourceNotification. En un sistema basado en Microsoft Windows 2000 Server, SQL Server calcula periódicamente la memoria física libre en el sistema mediante el uso de la API nativa de Windows. Según esta información de la API de Windows QueryMemoryResourceNotification o desde el cálculo de memoria, SQL Server responde a la situación de memoria actual en un sistema específico. Esto proporciona las siguientes ventajas:
  • El sistema no la página del conjunto de trabajo del proceso de SQL Server.
  • Las páginas de base de datos necesarios están disponibles en la memoria para reducir las necesidades de E/s físicas.
Para obtener más información, vea el tema "administración de memoria dinámica" y el tema "Opciones de memoria del servidor" en los libros en pantalla.

Síntomas

En las ediciones de 64 bits de SQL Server, pueden producirse diversos problemas. Por ejemplo, pueden producirse los siguientes problemas:
  • El rendimiento de SQL Server se reduce repentinamente.
  • Un equipo que ejecuta SQL Server deja de responder durante un período corto.
  • Se produce un tiempo de espera para las aplicaciones que se conecten a SQL Server.
  • Surgen problemas al ejecutar comandos incluso simples o utilizar las aplicaciones en el sistema.
Si ha instalado SQL Server 2005 Service Pack 2 (SP2) o una versión posterior, uno de los siguientes mensajes de error se registra en el registro de errores de SQL Server cuando se producen estos problemas:
Mensaje de error 1
fecha hora parte significativa de un spid1s de memoria de proceso de sql server se ha paginado. Esto puede dar lugar a una disminución del rendimiento. Duración: 0 segundos. Conjunto de trabajo (KB): 1086400, confirmada (KB): 2160928, la utilización de memoria: 50%.
Mensaje de error 2
fecha hora parte significativa de un spid1s de memoria de proceso de sql server se ha paginado. Esto puede dar lugar a una disminución del rendimiento. Duración: 315 segundos. Conjunto de trabajo (KB): 410156, confirmada (KB): 2201296, la utilización de memoria: 18%.
Mensaje de error 3
fecha hora parte significativa de un spid1s de memoria de proceso de sql server se ha paginado. Esto puede dar lugar a una disminución del rendimiento. Duración: 646 segundos. Conjunto de trabajo (KB): 901904, confirmada (KB): 2215752, la utilización de memoria: 40%.

El equipo de soporte de Microsoft SQL Server ha observado también otros mensajes de error o advertencias que se registran en el registro de errores de SQL Server o en los registros de sucesos de Windows. Estos mensajes similar al siguiente:
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. 
Estos otros mensajes de error o advertencias que pueden aparecer junto con el error "una parte significativa de la memoria del proceso de sql server se ha paginado" mensaje. En varios casos, estos otros mensajes de error o advertencias no aparecía junto con el mensaje de error.

Si observa que uno de estos mensajes de error o advertencias, tenga en cuenta el SQL Server funciona la paginación de conjunto que se describe en este artículo como una posible causa pero no como la única causa. Estos otros mensajes de error o advertencias se podrían iniciar debido a varias otras condiciones o causas.

Causa

Este problema se produce porque el conjunto de trabajo del proceso de SQL Server de salida de las páginas del sistema operativo Windows.

Estos mensajes de error se registran cuando el espacio de trabajo de un proceso SQL Server llega a 50 por ciento o menos de la memoria que está comprometida con el proceso de SQL Server. Puede utilizar estos mensajes de error para determinar el caso en que SQL Server rendimiento se reduce significativamente debido a que el conjunto de trabajo del proceso de SQL Server de salida de las páginas del sistema operativo Windows. Además, estos mensajes de error se graban cada cinco minutos durante los primeros 30 minutos. Después de los primeros 30 minutos, se duplica la frecuencia de estos mensajes de error hasta que la frecuencia alcanza el máximo de un día.

Cuando se produce este problema, puede observar que el espacio de trabajo de otras aplicaciones en el sistema también se extrae al mismo tiempo.
Para obtener más información, visite el siguiente sitio Web de Microsoft:
http://blogs.msdn.com/psssql/archive/2007/05/31/the-SQL-Server-Working-Set-Message.aspx
Además, hay un problema conocido en SQL Server en el que puede recibir una instancia de este mensaje de error. El mensaje de error se registra en el registro de errores de SQL Server durante el proceso de inicio de SQL Server. El mensaje de error podría ser un aviso falso. Por lo tanto, no podría indicar que realmente se ha producido el recorte de espacio de trabajo. Para obtener más información, visite el siguiente sitio Web de Microsoft:
http://blogs.msdn.com/psssql/Archive/2009/05/12/SQL-Server-Reports-Working-Set-Trim-Warning-Message-During-Early-Startup-Phase.aspx

Solución

Antes de intentar evitar este problema, realice los pasos en la sección "Cómo solucionar este problema" para resolver este problema.

Si sigue experimentando este problema, puede evitar que el sistema operativo Windows paginación fuera de la memoria del proceso de SQL Server de búfer mediante el bloqueo de la memoria asignada para el grupo de búferes de memoria física. Bloquear la memoria mediante la asignación de la Bloquear páginas en memoria usuario a la cuenta de usuario que se utiliza como la cuenta de inicio del servicio de SQL Server.

Nota En las ediciones de 64 bits de SQL Server, SQL Server Enterprise Edition puede utilizar el Bloquear páginas en memoria derecho de usuario. Esto es aplicable para SQL Server 2005 [RTM, SP1, SP2, SP3] y [RTM y SP1] de SQL Server 2008. SQL Server 2008 SP1 actualización acumulativa 2 y 4 de actualización acumulativa de SQL Server 2005 Service Pack 3 introducen compatibilidad con las ediciones estándar de SQL Server utilizar el Bloquear páginas en memoria derecho de usuario. Para obtener más información sobre la compatibilidad con páginas bloqueadas en sistemas de 64 bits, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
970070Soporte para las páginas bloqueadas en los sistemas de SQL Server 2005 Standard Edition de 64 bits y en los sistemas de SQL Server 2008 Standard Edition de 64 bits
Para asignar el Bloquear páginas en memoria derecho de usuario, siga estos pasos:
  1. Haga clic en Inicio, haga clic en Ejecutar, escriba gpedit.mscy, a continuación, haga clic en ACEPTAR.

    Nota ElDirectiva de grupo Aparecerá el cuadro de diálogo.
  2. Expanda Equipo Configuracióny, a continuación, expanda Configuración de Windows.
  3. Expanda Configuración de seguridady, a continuación, expandaDirectivas locales.
  4. Haga clic en Asignación de derechos de usuarioy, a continuación, haga doble clic en Bloquear páginas en Memoria.
  5. En el Configuración de directiva de seguridad localcuadro de diálogo, haga clic en Agregar usuario o grupo.
  6. En el Seleccionar usuarios o grupos cuadro de diálogo, Agregue la cuenta que tiene permiso para ejecutar el archivo Sqlservr.exe y, a continuación, haga clic enACEPTAR.
  7. Cerrar el Directiva de grupo cuadro de diálogo.
  8. Reinicie el servicio de SQL Server.
Después de asignar el Bloquear páginas en memoria derecho de usuario y se reinicie el servicio de SQL Server, el sistema operativo Windows ya no procesan páginas de la memoria búfer dentro de la SQL Server. Sin embargo, el sistema operativo Windows todavía puede extraer la memoria dentro del proceso de SQL Server nonbuffer.

Puede validar que el derecho de usuario es utilizado por la instancia de SQL Server, asegúrese de que se escribe el mensaje siguiente en el registro de errores de SQL Server al inicio:
Utilización de páginas bloqueadas para grupo de búferes
Este mensaje sólo se aplica a las ediciones de 64 bits de SQL Server. Para obtener más información acerca de este mensaje en el registro de errores, visite el siguiente sitio Web de Microsoft:
http://blogs.msdn.com/psssql/archive/2007/10/18/DO-i-Have-to-Assign-the-Lock-Privilege-for-local-System.aspx
Cuando las páginas del sistema operativo de Windows fuera de la memoria de grupo de nonbuffer, todavía podrían experimentar problemas de rendimiento. Sin embargo, los mensajes de error que se mencionan en la sección "Síntomas" no se registran en el registro de errores de SQL Server. Este comportamiento se produce porque el conjunto de trabajo de un proceso de SQL Server normalmente no llega al 50 por ciento o menos de la memoria asignada.

Más información

Cómo solucionar este problema

Para solucionar este problema, siga estos pasos:
  1. Para resolver los problemas conocidos que causan el sistema operativo de Windows a la página del conjunto de trabajo del proceso de SQL Server, aplique las revisiones que se describen en los siguientes artículos de Microsoft Knowledge Base.

    Nota Las revisiones son acumulativas. Una versión posterior de una revisión contiene versiones anteriores de esa revisión.
    • Microsoft ha encontrado un problema que puede hacer que la edición de 64 bits de la SQL Server a trabajar en conjunto para ser recortado. Para obtener más información, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
      905865El tamaño de los conjuntos de trabajo de todos los procesos en una sesión de consola se puede reducir cuando utiliza servicios de Terminal Server para iniciar o cerrar sesión desde un equipo que ejecuta Windows Server 2003
    • Equipos que se están ejecutando Windows Server 2003 puede ser demasiado agresiva cuando se almacenan en caché búferes sucios si hay una aplicación realiza E/s almacenada en búfer, como, por ejemplo, un archivo operación de copia. Este comportamiento puede producir el conjunto de trabajo en SQL Server que desee recortar. Para obtener más información, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
      920739Puede experimentar una disminución del rendimiento del sistema cuando se copian los archivos que ocupan más de aproximadamente 500 MB en Windows Server 2003 S o s de Windows Server 2003
    • El SQL Server conjunto de trabajo se pueden reducir si el sistema está utilizando algunas características avanzadas de TCP. Para obtener más información, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
      942861Mensaje de error cuando una aplicación se conecta a SQL Server en un servidor que ejecuta Windows Server 2003: "Error de red General", "Error de vínculo de comunicación" o "Un error de nivel de transporte"
    • En un equipo con varios procesadores que se está ejecutando Windows Server 2003, el proceso del sistema que consumen la mayor parte de la memoria disponible del sistema. Para obtener más información, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
      942486El proceso del sistema que consumen la mayor parte de la memoria del sistema disponible en un equipo con varios procesadores que se está ejecutando Windows Server 2003
  2. Si utiliza un controlador de dispositivo del MmAllocateContiguousMemory función, y si establece el valor de la HighestAcceptableAddress parámetro a menos de 4 gigabytes (GB), el sistema operativo Windows puede extraer el conjunto de trabajo del proceso de SQL Server de 64 bits. Para resolver este problema, póngase en contacto con el proveedor del controlador del dispositivo para las actualizaciones de controladores. Para obtener una lista de controladores que han tenido problemas, consulte la sección "otros proveedores" en el siguiente artículo de Microsoft Knowledge Base:
    2121098 Las actualizaciones del sistema de operación y controladores para las instalaciones de SQL Server recomendados
  3. Si estos problemas persisten después de aplicar estas revisiones, aplicar una revisión de Windows limita el número de operaciones de recorte por proceso. Para obtener más información, haga clic en los números de artículo siguientes para verlos en Microsoft Knowledge Base:
    938486Un equipo basado en Windows Server 2003 deja de responder debido a una operación de recorte de administrador de memoria ocasionado por un módulo indeterminado que pide mucha memoria
    956341 Un equipo basado en Windows Server 2003 deja de responder debido a una solicitud de asignación de memoria de gran tamaño
    Cuando un controlador de dispositivo intenta asignar memoria, el sistema operativo Windows puede extraer el conjunto de trabajo de otras aplicaciones. Esta revisión de Windows le permite utilizar el seguimiento de eventos para encontrar el controlador de dispositivo que causa el problema. Para obtener más información sobre el controlador específico que hace que el comportamiento de recorte de conjunto de trabajo, consulte el artículo MSDN"Identificación de los controladores que asignan memoria contigua."
  4. Las aplicaciones pueden utilizar la caché del sistema demasiado y pueden causar un gran aumento de la caché del sistema. Para responder al crecimiento de la caché del sistema, las páginas del sistema de espera del conjunto de trabajo del proceso de SQL Server o de otras aplicaciones. Si experimenta este problema, puede utilizar algunas funciones de administración de memoria en la aplicación. Estas funciones controlan el espacio de memoria caché del sistema que pueden utilizar las operaciones de E/s de archivo en la aplicación. Por ejemplo, puede utilizar el SetSystemFileCacheSize función y el GetSystemFileCacheSize función para controlar el espacio de memoria caché del sistema que pueden utilizar las operaciones de E/s de archivos.

    Puede utilizar el objeto de rendimiento de memoria para ver los valores de diversos contadores de este objeto para determinar si la caché del sistema de espacio de trabajo utiliza demasiada memoria. Por ejemplo, puede ver los contadores de Bytes de memoria caché y Bytes de residentes de caché del sistema. Para obtener más información acerca de este tema, visite los siguientes sitios Web de 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
    Puede descargar e implementar el "servicio Microsoft Windows Dynamic Cache" para controlar la memoria que se consume en la caché del sistema.
  5. Si SQL Server se ejecuta junto con SAP R/3, puede experimentar un problema de paginación. Para obtener más información, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
    931308Puede experimentar una mayor paginación al disco duro cuando se ejecuta un programa de SAP R/3 en un equipo basado en Windows Server 2003
  6. Si está ejecutando SQL Server en Windows Server 2008, debe aplicar correcciones para problemas conocidos que pueden llevar al trabajo conjunto de recorte o consumo innecesario de memoria excesivo por otros componentes del sistema operativo. Para obtener más información, haga clic en los números de artículo siguientes para verlos en Microsoft Knowledge Base:

    971442 El rendimiento del sistema del servidor se convierte en disminuido gravemente al intentar copiar archivos desde un servidor que ejecuta Windows Vista o Windows Server 2008 a través de una red

    974609 Un equipo que ejecuta Windows Server 2008 al azar deja de responder cuando ejecuta una aplicación de gran tamaño

    971714 El proceso de generación de informes puede dejar de responder al ejecutar Perfmon.exe con la plantilla de diagnóstico de Active Directory para generar un informe en un controlador de dominio basado en Windows Server 2008
  7. Si está ejecutando SQL Server en servir 2008 R2 de Windows, debe aplicar correcciones para problemas conocidos que pueden conducir a trabajar en conjunto de recorte. Para obtener más información, haga clic en los números de artículo siguiente para verlo en Microsoft Knowledge Base:
    979149 Un equipo que ejecuta Windows 7 o Windows Server 2008 R2 deja de responder cuando ejecuta una aplicación de gran tamaño

    2155311 Se produce un rendimiento deficiente en un equipo que tiene procesadores basados en NUMA y que se está ejecutando Windows Server 2008 R2 o Windows 7 si un gran cantidad de solicitudes de subproceso de memoria que está dentro de los primeros 4 GB de memoria

    2468345 Equipo intermitentemente realiza mal o deja de responder cuando se utiliza el controlador de Storport en Windows Server 2008 R2

Cómo determinar la memoria utilizada por las ediciones de 64 bits de SQL Server

Puede utilizar al Monitor de rendimiento para ver la página de memoria que se utiliza las ediciones de 64 bits de SQL Server. Para ello, supervise el rendimiento de la siguiente contador:
Objeto de rendimiento: memoria
Contador: Páginas/seg.
Para obtener más información acerca de cómo utilizar este contador para determinar la memoria de página, haga clic en el número de artículo siguiente para verlo en el Microsoft Knowledge Base:
889654Cómo determinar el tamaño del archivo de página adecuado para las versiones de 64 bits de Windows Server 2003 o Windows XP
Además, se puede medir el efecto de paginación en las ediciones de 64 bits de SQL Server mediante la supervisión de los siguientes contadores de rendimiento:
Objeto de rendimiento: proceso
Contador: Bytes privados
Instancia: sqlservr

Objeto de rendimiento: proceso
Contador: Conjunto de trabajo
Instancia: sqlservr
El contador de Bytes privados mide la memoria comprometida actualmente. El contador de espacio de trabajo mide la memoria física que actualmente está ocupada por el proceso. las ediciones de 64 bits de SQL Server utilizar también el siguiente contador de rendimiento para exponer la memoria que asigna el grupo de búferes:
Objeto de rendimiento: el Administrador de memoria: SQL Server
Contador: Total Server Memory(KB)
Nota Si la instancia de la edición de 64 bits de SQL Server es una instancia con nombre, el nombre del objeto de rendimiento es la siguiente:
MSSQL$InstanceName: Administrador de memoria
Si el valor del contador de espacio de trabajo es menor que el valor del contador Total Memory(KB) de servidor, al menos parte de la memoria que forma parte de la agrupación de búfer se ha recortado de de SQL Server conjunto de trabajo.

Después de asignar el Bloquear páginas en memoria derecho de usuario y se reinicie el servicio de SQL Server, el grupo de búferes del proceso de SQL Server todavía responde a eventos de notificación de recursos de memoria y aumenta o disminuye en respuesta a estos eventos dinámicamente. Sin embargo, no puede ver las asignaciones de memoria para el grupo de búferes que están bloqueadas en la memoria en los siguientes contadores de rendimiento:
  • El contador de Bytes privados y el contador de espacio de trabajo en el Monitor de rendimiento
  • El Uso de memoria columna en la Procesos ficha Administrador de tareas
Después de que estas páginas están bloqueadas, estos contadores de rendimiento representan las asignaciones de memoria dentro del proceso de SQL Server cuando esas asignaciones no utilizan el grupo de búferes. El contador Total Memory(KB) de servidor del objeto de rendimiento de SQL Server: Memory Manager representa con precisión la memoria asignada para el grupo de búferes.

Consideraciones importantes antes de asignar al usuario "Lock pages in memory" derecho de una instancia de una edición de 64 bits de SQL Server

Debe hacer consideraciones adicionales antes de asignar el Bloquear páginas en memoria derecho de usuario. Si se asigna a este usuario en sistemas que no están configurados correctamente, el sistema puede volverse inestable o experimentar una disminución del rendimiento de todo el sistema. Además, puede grabarse 333 de ID de evento en el registro de sucesos.

Si contacta con el servicio de soporte técnico de Microsoft (CSS) para estos problemas, los ingenieros CSS pueden solicitarle que revocar este derecho de usuario para la cuenta de usuario que se utiliza como la cuenta de inicio del servicio de SQL Server. Este paso puede ser necesario recopilar datos de rendimiento importante que los ingenieros CSS se pueden utilizar para la configuración necesaria de las diversas opciones para SQL Server y para otras aplicaciones que se ejecutan en el sistema. Después de que los ingenieros CSS recopilar los datos de rendimiento, puede asignar el Bloquear páginas en memoria usuario a la cuenta de inicio del servicio de SQL Server.

Antes de asignar el Bloquear páginas en memoria derecho de usuario, asegúrese de que capturar un registro de Monitor de rendimiento para determinar los requisitos de memoria de diversas aplicaciones y servicios que están instalados en el sistema. Estas aplicaciones incluyen también SQL Server. Para determinar los requisitos de memoria, recopile la siguiente información de línea de base:
  • Asegúrese de que el max server memory y min server memory opción correctamente. Estas opciones reflejan sólo los requisitos de memoria de grupo de búferes del proceso de SQL Server. Estas opciones no incluyen la memoria asignada para otros componentes dentro del proceso de SQL Server. Estos componentes incluyen lo siguiente:
    • Los subprocesos de trabajo SQL Server
    • El asignador de varias páginas del Administrador de memoria de SQL Server
    • Varios archivos DLL y componentes que el proceso de SQL Server se carga dentro del espacio de direcciones del proceso de SQL Server
    • Las operaciones de backup y restore
  • Los archivos DLL y componentes incluyen diversos proveedores de OLE DB, procedimientos almacenados extendidos, los objetos COM de Microsoft que se utilizan para la sp_OACreate procedimiento almacenado, los servidores vinculados y SQL Server CLR. Memoria asignada para estos componentes se encuentra en la región de pool nonbuffer el espacio de direcciones del proceso de SQL Server. Lo ideal es determinar la cantidad máxima de memoria que puede utilizar todo el proceso de SQL Server, debe restar la memoria asignada para los componentes que no utilizan el grupo de búferes de la memoria total que desea que el proceso de SQL Server a utilizar. A continuación, puede utilizar el valor restante para establecer el max server memory opción. Antes de establecer el max server memory y min server memory opción, debe examinar detenidamente el tema "Establecer manualmente las opciones de memoria" en los libros en pantalla de SQL Server.
  • Determinar los requisitos de memoria de otras aplicaciones y de los componentes del sistema operativo Windows. Las aplicaciones pueden incluir otros SQL Server componentes, por ejemplo, SQL Server agente, agentes de duplicación de SQL Server, SQL Server Reporting Services, SQL Server Analysis Services, Integration Services de SQL Server y SQL Server búsqueda de texto. Las aplicaciones que realizan operaciones de copia de seguridad y las operaciones de copia de archivos pueden utilizar mucha memoria. Considere la posibilidad de operaciones tales como la copia masiva y el agente de instantáneas que generan E/S de archivo. Debe tener en cuenta los requisitos de memoria de todas estas aplicaciones al determinar el valor de la max server memory opción y de la min server memory opción. Puede utilizar el contador Bytes privados y el contador de espacio de trabajo bajo el objeto de proceso para cada proceso para determinar los requisitos de memoria para un proceso concreto.
  • De forma predeterminada, el Bloquear páginas en memoria ya se asignó el derecho de usuario a la cuenta de sistema Local integrada. Para obtener más información, visite el siguiente sitio Web de Microsoft:
    http://blogs.msdn.com/psssql/archive/2007/10/18/DO-i-Have-to-Assign-the-Lock-Privilege-for-local-System.aspx
  • Si utiliza una cuenta de usuario de Windows globalmente para todos los procesos de SQL Server en un dominio, determinar los derechos de usuario que se asignan mediante una configuración de directiva de grupo. Un proceso de SQL Server de 32 bits puede utilizar esta cuenta como la cuenta de inicio. Sin embargo, esta cuenta requiere el Bloquear páginas en memoria derecho de usuario para habilitar la característica de Address Windowing Extensions (AWE). Para obtener más información, vea el tema "Que proporciona la máxima cantidad de memoria para SQL Server" en los libros en pantalla de SQL Server.
  • Antes de configurar el max server memory y min server memory opción de varias instancias de SQL Server, tenga en cuenta los requisitos de memoria de la agrupación de nonbuffer para cada instancia de SQL Server. A continuación, configure las siguientes opciones para cada instancia de SQL Server.
Lo ideal sería recopilar esta información de línea de base durante las cargas máximas. Por lo tanto, puede determinar los requisitos de memoria para diversas aplicaciones y componentes admitir la carga máxima. Los requisitos de memoria pueden variar de un sistema a otro sistema, dependiendo de las actividades y las aplicaciones que se ejecutan en el sistema.

Cómo utilizar la información de los búferes de anillo de SQL Server para determinar las condiciones de memoria cuando se produce la paginación

Puede utilizar la información de los búferes de anillo de SQL Server para determinar las condiciones de memoria en el servidor cuando se produce la paginación. Puede utilizar una secuencia de comandos como la siguiente secuencia de comandos para obtener esta información.
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

Nota Esta consulta es válida para SQL Server 2005 y 2008 de SQL Server.

Puede consultar la información que se proporciona en el sys.dm_os_process_memory de vista de administración dinámica para saber si el sistema está encontrando las condiciones de poca memoria. Para obtener más información, vea la referencia de los libros en pantalla de SQL Server de 2008, en el siguiente sitio Web de MSDN:
http://msdn.Microsoft.com/en-us/library/bb510747.aspx

Información de SQL Server 2008 R2 BPA

SQL Server 2008 R2 Best Practice Analyzer (BPA SQL Server, 2008 R2) proporciona varias reglas para detectar situaciones que pueden producir en el trabajo conjunto de recorte del proceso de SQL Server. BPA de R2 de SQL Server de 2008 es compatible con SQL Server 2008 y SQL Server 2008 R2.

Si ejecuta la herramienta BPA y reciba la advertencia, el "Motor de base de datos - memoria de SQL Server configuración es incorrecta," necesita comprobar el valor de max server memory para esta instancia de SQL Server y siga las recomendaciones de la sección "Consideraciones importantes antes de asignar el usuario 'Lock pages in memory' adecuado para una instancia de una edición de 64 bits de SQL Server" de este artículo.

Si se ejecuta la herramienta BPA y experimentan el error, "motor de base de datos - funcionamiento del sistema archivos y controladores necesita actualización para el trabajo conjunto de recorte," necesita revisar todas las correcciones descritas en la sección "Resolución" de este artículo y aplicarlas.

Si ejecuta la herramienta BPA y experimentan el error "Motor de base de datos - parte significativa de SQL Server memoria se ha paginado," necesita revisar las secciones "Resolución" y "Solución" de este artículo y tomar las medidas adecuadas.

Referencias

Contraer esta tablaAmpliar esta tabla
Software de la reglaTítulo de la reglaIdentificador de regla
Regla BPA de SQL Server 2008 R2Configuración de memoria de SQL Server es incorrectaRID3804
Regla BPA de SQL Server 2008 R2 Controladores y archivos de sistema operativo necesita actualización para el trabajo conjunto de recorte RID0059
Regla BPA de SQL Server 2008 R2Se ha paginado parte importante de memoria SQL ServerRID0049

Mejoras en Windows Server 2008 y en Windows Server 2008 R2


Windows Server 2008 y Windows Server 2008 R2 mejoran el mecanismo de asignación de memoria contigua. Esta mejora permite a Windows Server 2008 y Windows Server 2008 R2 reducir en cierta medida los efectos de la paginación del conjunto de trabajo de las aplicaciones cuando llegan solicitudes de memoria de nuevo.

La siguiente es una explicación de las mejoras de las notas del producto Microsoft "Avanza en administración de ventanas memoria":

En Windows Server 2008, la asignación de memoria contigua físicamente mejora considerablemente. Las solicitudes para asignar memoria contigua son mucho más probable que se realice correctamente debido a que el Administrador de memoria ahora reemplaza dinámicamente las páginas, normalmente sin recortar el espacio de trabajo o realizar operaciones de E/s. Además, muchos más tipos de páginas, como las pilas del núcleo y las páginas de metadatos del sistema de archivo, entre otros: ahora son candidatos para el reemplazo. En consecuencia, más memoria contigua está generalmente disponible en un momento dado. Además, se reduce el costo para obtener este tipo de asignaciones.
Para ver las notas del producto "Avanza en memoria administración en Windows", visite el siguiente sitio Web de Microsoft:
http://download.Microsoft.com/download/9/c/5/9c5b2167-8017-4bae-9fde-d599bac8184a/MemMgt.docx
Para obtener más información, visite los siguientes sitios Web de Microsoft:
http://blogs.msdn.com/psssql/archive/2008/03/03/SQL-Server-Working-Set-Trim-Problems-Consider.aspx
http://support.Microsoft.com/kb/2001745
Nota En un equipo basado en Windows Server 2008, debe instalar el Service Pack 2 (SP2) de SQL Server o un service pack posterior de SQL Server.

Los productos de terceros que analiza este artículo están fabricados por compañías independientes de Microsoft. Microsoft no otorga ninguna garantía, implícita o de otro tipo, sobre el rendimiento o confiabilidad de estos productos.

Propiedades

Id. de artículo: 918483 - Última revisión: miércoles, 27 de julio de 2011 - Versión: 1.0
La información de este artículo se refiere a:
  • 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
Palabras clave: 
kbsqlsetup kbsql2005engine kbexpertiseadvanced kbinfo kbmt KB918483 KbMtes
Traducción automática
IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.
Haga clic aquí para ver el artículo original (en inglés): 918483

Enviar comentarios

 

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