Cómo reducir la paginación de la memoria del 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 Windows Server 2003 o una 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 de 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. Basándose en esta información de la API de Windows QueryMemoryResourceNotification o el cálculo de la memoria, SQL Server responde a la situación actual de la memoria 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 la 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 de SQL Server.

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 está ejecutando SQL Server deja de responder durante un tiempo.
  • Se produce un tiempo de espera para las aplicaciones que se conectan a SQL Server.
  • Surgen problemas al ejecutar comandos simples o utilizar 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 spid1s una significativa parte de memoria del proceso de sql server se ha paginado. Esto puede ocasionar una degradación del rendimiento. Duración: 0 segundos. Conjunto de trabajo (KB): 1086400, confirmada (KB): 2160928, uso de la memoria: 50%.
Mensaje de error 2
fecha hora spid1s una significativa parte de memoria del proceso de sql server se ha paginado. Esto puede ocasionar una degradación del rendimiento. Duración: segundos 315. Conjunto de trabajo (KB): 410156, confirmada (KB): 2201296, uso de la memoria: 18%.
Mensaje de error 3
fecha hora spid1s una significativa parte de memoria del proceso de sql server se ha paginado. Esto puede ocasionar una degradación del rendimiento. Duración: segundos 646. Conjunto de trabajo (KB): 901904, confirmada (KB): 2215752, uso de la 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 mensajes de error o advertencias pueden aparecer junto con el error "una parte significativa de la memoria del proceso de sql server se ha paginado" mensaje. En muchos casos, estos mensajes de error o advertencias no aparece junto con el mensaje de error.

Si observa que uno de estos mensajes de error o advertencias, considere la posibilidad de trabajar la paginación del conjunto que se describe en este artículo como una posible causa pero no como la única causa la de SQL Server. Estos mensajes de error o advertencias se podrían registrar debido a varias otras condiciones o causas.

Causa

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

Estos mensajes de error se registran cuando el conjunto de trabajo de un proceso de SQL Server alcanza el 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 el rendimiento de SQL Server reduce significativamente debido a las páginas del sistema operativo Windows fuera el conjunto de trabajo del proceso de SQL Server. Además, estos mensajes de error se anotan cada cinco minutos durante los primeros 30 minutos. Después de los primeros 30 minutos, la frecuencia de estos mensajes de error se dobla hasta la frecuencia alcanza el máximo de un día.

Cuando se produce este problema, puede observar que el conjunto de trabajo de otras aplicaciones en el sistema se pagina también 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 puede indicar que se haya producido realmente guarnecido de conjunto 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 solucionar este problema, realice los pasos en la sección "Cómo solucionar este problema" para resolver este problema.

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

Nota Para ediciones de 64 bits de SQL Server, sólo SQL Server Enterprise Edition puede utilizar directamente el usuario Bloquear páginas en la memoria . 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 SP3 introducen compatibilidad con las ediciones de SQL Server estándar usar el usuario Bloquear páginas en la memoria no. 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:
970070 Compatibilidad con páginas bloqueadas en sistemas de SQL Server 2005 Standard Edition de 64 bits y en sistemas de SQL Server 2008 Standard Edition de 64 bits
Para asignar el derecho de usuario Bloquear páginas en la memoria , siga estos pasos:
  1. Haga clic en Inicio, haga clic en Ejecutar, tipo gpedit.mscy, a continuación, haga clic en Aceptar.

    Nota Aparecerá el cuadro de diálogo deDirectiva de grupo .
  2. Expanda ComputerConfigurationy, 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 inmemory.
  5. En el cuadro de diálogo Configuración de la directiva de seguridad Local, haga clic en Agregar usuario o grupo.
  6. En el cuadro de diálogo Seleccionar usuarios o grupos , agregue la cuenta que tiene permiso para ejecutar el archivo Sqlservr.exe y, a continuación, haga clic enAceptar.
  7. Cierre el cuadro de diálogo de Directiva de grupo .
  8. Reinicie el servicio SQL Server.
Después de asignar el derecho de usuario Bloquear páginas en memoria y se reinicie el servicio de SQL Server, el sistema operativo Windows ya no procesan páginas de la memoria del búfer en el SQL Server. Sin embargo, el sistema operativo Windows todavía puede paginar la memoria del grupo de nonbuffer en el proceso de SQL Server.

Puede validar que el derecho de usuario se utiliza por la instancia de SQL Server al asegurarse de que el mensaje se escribe en el registro de errores de SQL Server en el inicio:
Utilizando páginas bloqueadas para grupo de búferes
Este mensaje aplica sólo a las ediciones de 64 bits de SQL revoca 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 Windows fuera de la memoria nonbuffer, todavía puede encontrar 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 no llegan 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 que el sistema operativo de Windows a la página del conjunto de trabajo del proceso de SQL Server, se aplican 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 las versiones anteriores de esa revisión.
    • Microsoft ha encontrado un problema que puede causar que la edición de 64 bits de la SQL Server espacio de trabajo 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:
      905865 Cuando se utiliza servicios de Terminal Server para iniciar o cerrar sesión en un equipo que ejecuta Windows Server 2003 se puede reducir el tamaño de los conjuntos de trabajo de todos los procesos en una sesión de consola
    • Los equipos que ejecutan Windows Server 2003 pueden ser demasiado agresivos cuando se almacenan en memoria caché los búferes sucios si hay una aplicación realiza E/S almacenada en búfer, como una operación de copia. Este comportamiento puede producir el conjunto de trabajo de 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:
      920739 Cuando se copian archivos mayores de aproximadamente 500 MB en Windows Server 2003 o en Windows Server 2003 puede experimentar una disminución en el rendimiento general del sistema
    • Cuando el sistema está utilizando algunas características avanzadas de TCP se puede reducir el conjunto de trabajo de SQL Server. Para obtener más información, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
      942861 Mensaje de error cuando una aplicación se conecta a SQL Server en un servidor que ejecuta Windows Server 2003: "Error General de red", "Error de vínculo de comunicación" o "Error de nivel de transporte"
    • En un equipo con varios procesadores que está ejecutando Windows Server 2003, el proceso del sistema puede consumir la mayoría 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:
      942486 El proceso del sistema puede consumir la mayoría de la memoria del sistema disponible en un equipo con varios procesadores que está ejecutando Windows Server 2003
  2. Si utiliza un controlador de dispositivo del MmAllocateContiguousMemory la función, y si establece el valor de la HighestAcceptableAddress parámetro de menos de 4 gigabytes (GB), el sistema operativo Windows puede página del conjunto de trabajo del proceso de SQL Server de 64 bits. Para resolver este problema, póngase en contacto con el proveedor del controlador de dispositivo para las actualizaciones de controladores. Para obtener una lista de controladores que se han detectado problemas, consulte la sección "otros proveedores" en el siguiente artículo de Microsoft Knowledge Base:
    2121098 Recomendado actualizaciones del sistema operativo y controladores para las instalaciones de SQL Server
  3. Si estos problemas persisten después de aplicar estas revisiones, aplicar una revisión de Windows que 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:
    938486 Un equipo basado en Windows Server 2003 deja de responder debido a una operación de recorte de administrador de memoria es causada por un módulo indeterminado que solicita 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 página del conjunto de trabajo de otras aplicaciones. Esta revisión de Windows le permite utilizar el seguimiento de eventos para buscar el controlador de dispositivo que causa el problema. Para obtener más información sobre el controlador que causa el comportamiento de recorte de conjunto de trabajo, consulte el artículo de MSDN"Identificación de 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 fuera 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 de la aplicación. Estas funciones controlan el espacio de caché de sistema pueden utilizar operaciones de E/S de archivo en la aplicación. Por ejemplo, puede utilizar el SetSystemFileCacheSize la función y el GetSystemFileCacheSize función para controlar el espacio de caché de sistema pueden utilizar operaciones de E/S de archivos.

    Puede utilizar el objeto de rendimiento de memoria para ver los valores de varios contadores de este objeto para determinar si la caché del sistema conjunto de trabajo utiliza demasiada memoria. Por ejemplo, puede ver los contadores de Bytes de memoria caché y los Bytes residentes de caché de 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 la paginación. Para obtener más información, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
    931308 Puede experimentar una mayor paginación en el 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 el consumo de memoria excesivo innecesario 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 disminuida seriamente al intentar copiar archivos desde un servidor que está ejecutando 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 se 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 Windows servir 2008 R2, 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 se ejecuta una aplicación de gran tamaño

    2155311 Se produce un bajo rendimiento en un equipo que tiene procesadores de NUMA y que está ejecutando Windows Server 2008 R2 o Windows 7 si una 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 que se utiliza en las ediciones de 64 bits de SQL Server

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

Objeto de rendimiento: proceso
Contador: Conjunto de trabajo
Ejemplo: sqlservr
El contador de Bytes privados mide la memoria comprometida actualmente. El contador de Working Set mide la memoria física está ocupada actualmente por el proceso. las ediciones de 64 bits de SQL Server también utilizar el contador de rendimiento siguiente para exponer la memoria que asigna el grupo de búferes:
Objeto de rendimiento: el Administrador de SQL Server: memoria
Contador: Total de servidor 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 el siguiente:
MSSQL$InstanceName: Administrador de memoria
Si el valor del contador conjunto de trabajo es menor que el valor del contador Memory(KB) Total de servidor, al menos parte de la memoria que forma parte del grupo de búfer se ha recortado en el SQL Server, conjunto de trabajo.

Después de asignar el derecho de usuario Bloquear páginas en memoria y reinicie el servicio SQL Server, el grupo de búferes del proceso de SQL Server responda a los 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 se bloquean en la memoria en los siguientes contadores de rendimiento:
  • El contador Bytes privados y el contador conjunto de trabajo en el Monitor de rendimiento
  • La columna de Uso de memoria en la ficha procesos del Administrador de tareas
Después de 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 utilice el grupo de búferes. El contador Total Memory(KB) del servidor del Administrador de SQL Server: memoria del objeto de rendimiento representa con precisión la memoria asignada para el grupo de búferes.

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

Debe hacer algunas consideraciones adicionales antes de asignar al usuario Bloquear páginas en la memoria del derecho. 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, 333 de ID de evento puede anotarse en el registro de sucesos.

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

Antes de asignar el derecho de usuario Bloquear páginas en la memoria , asegúrese de 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 ha definido correctamente la opción max server memory y la opción min server memory . Estas opciones reflejan los requisitos de memoria de la agrupación de búfer del proceso de SQL Server. Estas opciones no incluye la memoria asignada para otros componentes en el proceso de SQL Server. Estos componentes incluyen los siguientes:
    • Los subprocesos de trabajo de SQL Server
    • El asignador de múltiples páginas del Administrador de memoria de SQL Server
    • Varios archivos DLL y componentes que carga el proceso de SQL Server en el espacio de direcciones del proceso de SQL Server
    • Las operaciones de backup y restore
  • Los archivos DLL y componentes incluyen una serie de proveedores OLE DB, procedimientos almacenados extendidos, los objetos COM de Microsoft que se utilizan para el procedimiento almacenado de sp_OACreate , servidores vinculados y CLR de SQL Server. Memoria asignada para estos componentes entra dentro de la región de pool nonbuffer del espacio de direcciones del proceso de SQL Server. Para determinar lo ideal es la cantidad máxima de memoria que puede utilizar todo el proceso de SQL Server, se ha de restar la memoria asignada para los componentes que no utilice el grupo de búferes de la memoria total que desea que use el proceso de SQL Server. A continuación, puede utilizar el valor restante para establecer la opción max server memory . Antes de establecer la opción max server memory y la opción min server memory , debe examinar detenidamente el tema "Configuración manual de 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 SQL Server componentes, por ejemplo, agente de SQL Server, los agentes de duplicación de SQL Server, SQL Server Reporting Services, SQL Server Analysis Services, Integration Services de SQL Server y búsqueda de texto completo de SQL Server. Las aplicaciones que realizan las operaciones de backup y las operaciones de copia de archivos pueden utilizar mucha memoria. Tenga en cuenta las 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 opción max server memory y de la opción min server memory . Puede utilizar el contador Bytes privados y el contador conjunto de trabajo en el objeto de proceso para cada proceso para determinar los requisitos de memoria para un proceso concreto.
  • De manera predeterminada, el derecho de usuario Bloquear páginas en memoria ya ha sido asignado 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 32 bits de SQL Server puede utilizar esta cuenta como la cuenta de inicio. Sin embargo, esta cuenta requiere el derecho de usuario Bloquear páginas en la memoria para habilitar la característica de Address Windowing Extensions (AWE). Para obtener más información, vea el tema "Proporcionando la máxima cantidad de memoria para SQL Server" en los libros en pantalla de SQL Server.
  • Antes de configurar la opción max server memory y la opción de min server memory para 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 es recopilar esta información de línea de base durante las cargas máximas. Por lo tanto, puede determinar los requisitos de memoria para distintas aplicaciones y componentes admitir la carga máxima. Los requisitos de memoria varían 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 SQL Server 2008.

Puede consultar la información que se proporciona en el sys.dm_os_process_memory de vista de administración dinámica para comprender si el sistema está encontrando condiciones de memoria insuficiente. Para obtener más información, consulte la referencia de libros en pantalla de SQL Server 2008 en el siguiente sitio Web de MSDN:
http://msdn.Microsoft.com/en-us/library/bb510747.aspx
SQL Server 2008 R2 Best Practice Analyzer (SQL Server 2008 R2 BPA) proporciona varias reglas para detectar situaciones que pueden producir en el trabajo conjunto de recorte del proceso de SQL Server. El BPA de SQL Server 2008 R2 es compatible con SQL Server 2008 y SQL Server 2008 R2.

Contraer esta tablaAmpliar esta tabla
Software de reglaTítulo de la reglaDescripción de la reglaVersiones del producto con el que se evalúa la regla
SQL Server 2008 R2 Best Practices Analyzer (SQL Server 2008 R2 BPA)
Configuración de la memoria de SQL Server es incorrectos


Si ejecuta la herramienta BPA y reciba la advertencia, "Motor de base de datos - es incorrecta, la configuración de memoria de SQL Server" necesario comprobar la configuración de memoria máxima del servidor para esta instancia de SQL Server y siga las recomendaciones de la sección "Consideraciones importantes antes de asignan el usuario 'Lock pages in memory' para una instancia de una edición de 64 bits de SQL Server" de este artículo.SQL Server 2008
SQL Server 2008 R2


SQL Server 2008 R2 Best Practices Analyzer (SQL Server 2008 R2 BPA)Controladores y archivos del sistema operativo necesita actualización para trabajar en conjunto de recorteSi ejecuta la herramienta BPA y experimentar el error, "motor de base de datos - archivos del sistema y controladores de funcionamiento necesita actualización para el conjunto de recorte, de trabajo" debe revisar todas las revisiones que se describe en la sección "Resolución" de este artículo y aplicarlas.
SQL Server 2008
SQL Server 2008 R2

SQL Server 2008 R2 Best Practices Analyzer (SQL Server 2008 R2 BPA)Una parte importante de la memoria de SQL Server se ha paginado
Si ejecuta la herramienta BPA y experimentar el error "Motor de base de datos - parte importante de SQL Server se ha paginado memoria," necesitará revisar las secciones "Resolución" y "Solución" de este artículo y tomar las medidas adecuadas.
SQL Server 2008
SQL Server 2008 R2


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 hasta cierto punto los efectos de la paginación del conjunto de trabajo de las aplicaciones cuando llegan solicitudes de memoria nueva.

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

En Windows Server 2008, la asignación de memoria contigua físicamente se ha mejorado considerablemente. Solicitudes para asignar memoria contigua están mucho más probable que correctamente ya que el Administrador de memoria ahora reemplaza dinámicamente páginas, normalmente sin recortar el conjunto de trabajo o realizar operaciones de E/S. Además, muchos más tipos de páginas, como las pilas de kernel y páginas de metadatos del sistema de archivos, entre otros, ahora son candidatos para la sustitución. Por lo tanto, más memoria contigua está generalmente disponible en cualquier momento. Además, se reduce el coste de obtener tales asignaciones.
Para ver las notas del producto "Avanza en memoria Management en Windows", visite el siguiente Website 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 otros fabricantes 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, respecto al rendimiento o confiabilidad de estos productos.

Propiedades

Id. de artículo: 918483 - Última revisión: domingo, 22 de junio de 2014 - Versión: 2.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