Requisitos del subsistema de E/S de Microsoft SQL Server para la base de datos tempdb

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): 917047
Resumen
Microsoft SQL Server requiere que el subsistema de E/S que se utiliza para almacenar las bases de datos de sistema y de usuario totalmente respetan los requisitos de registro de escritura anticipada (WAL) a través de entidades específicas de entrada-salida. Estos requisitos son necesarios para respetar las propiedades ACID de las transacciones: atómico, coherente, aislado y duradero. Se proporcionan detalles acerca de los requisitos de conformidad del subsistema de E/S en las siguientes referencias:La lista siguiente es un breve resumen de los requisitos:
  • Debe mantener el orden de escritura.
  • Debe mantenerse la consistencia de escritura dependiente.
  • Escribe siempre debe estar protegidos, en los medios de comunicación estable.
  • Prevención de entrada-salida rasgada debe producirse.
Mantenimiento de durabilidad sigue siendo fundamental para otras bases de datos, pero puede ser relajada para la base de datos tempdb . En la siguiente tabla se resume algunos de los requisitos de E/S críticos para bases de datos de SQL Server.
Requisito de E/SBreve descripciónSistema o usuariotempdb
Orden de escritura

Consistencia de escritura dependiente
La capacidad del subsistema para mantener el orden correcto de las operaciones de escritura. Esto puede ser especialmente importante para el reflejo de las soluciones, los requisitos de coherencia del grupo y uso de protocolo WAL de SQL Server.RequeridoRecomienda
Lectura después de escrituraLa posibilidad de que el servicio del subsistema lee las solicitudes con la imagen de datos más reciente cuando se emite la lectura después de cualquier escritura se completó correctamente.RequeridoRequerido
Supervivencia a través de la interrupciónLa capacidad de datos permanezcan totalmente intacta (artículo) a través de una interrupción, como un sistema de reinicia.RequeridoNo aplicable
Prevención de entrada-salida rasgadaLa capacidad del sistema para evitar la división de las solicitudes de E/S individuales.RequeridoRecomienda
Sector de reescrituraEl sector sólo pueden escribirse en su totalidad y no se puede volver a escribir debido a una solicitud de escritura en un sector cercano.* No recomienda, sólo se permite si transaccional* No recomienda, sólo se permite si transaccional
Datos reforzadosLa expectativa de que cuando una solicitud de escritura o una operación FlushFileBuffers finaliza correctamente, ha guardado los datos a medios estables.RequeridoNo aplicable
Tamaño y alineación de sector físicoSQL Server se interroga las ubicaciones de almacenamiento de archivos de datos y de registro. Todos los dispositivos son necesarios para admitir los atributos del sector que permite a SQL Server realizar escrituras en límites físicos sectores alineados y en múltiplos del tamaño del sector.RequeridoRequerido
* Sector transaccional reescribe implica operaciones de registro completo por parte del subsistema que permitan un sector totalmente movido, reemplazar, o vuelve a la imagen original. Normalmente, estas correcciones son recomendables debido a la sobrecarga necesaria para realizar acciones adicionales. Un ejemplo de esto sería una utilidad de desfragmentación que va a migrar los datos del archivo. No se puede reemplazar el sector en el archivo original con la nueva ubicación del sector hasta que el nuevo sector y los datos se protegen completamente. La reasignación del sector debe producirse de forma transaccional, por lo que hace que cualquier error, incluyendo un corte de alimentación, el restablecimiento de los datos originales. Asegúrese de que tiene mecanismos de bloqueo disponibles durante este tipo de proceso para impedir el acceso de datos no válidos, lo que respetar a los vecinos de E/S de SQL Server.

Supervivencia a través de la interrupción

La base de datos tempdb es un área de borrador para SQL Server y se reconstruye en cada inicio del sistema de SQL Server. La inicialización reemplaza a cualquier necesidad de datos sobrevivir a un reinicio.

Operaciones de reescritura del sector transaccional

Para garantizar el éxito de los procesos de recuperación, como recuperación de rollback y el bloqueo, los registros deben almacenarse correctamente en medio estable antes de la página de datos se almacena y no puede volver a escribir sin teniendo en cuenta las propiedades transaccionales. Esto requiere que el subsistema y de SQL Server para mantener atributos específicos, como el orden de escritura, sector alineado y tamaño de las escrituras y otros tales atributos de seguridad de entrada-salida descritos en los documentos anteriormente mencionados. Base de datos tempdb , la recuperación de errores es necesario porque la base de datos siempre se inicializa durante el inicio de SQL Server. Sin embargo, la base de datos tempdb aún requiere capacidades de restauración. Por lo tanto, algunos atributos del protocolo WAL pueden hacerse más flexible.

La ubicación de almacenamiento de información de la base de datos tempdb debe actuar en consonancia con los protocolos establecidos de unidad de disco. De todas formas, el dispositivo en el que se almacena la base de datos tempdb debe aparecer y actuar como un disco físico que proporciona lectura después de capacidades de escritura. Las operaciones de reescritura de sector de transacciones pueden ser un requisito adicional de implementaciones específicas. Por ejemplo, SQL Server no admite modificaciones mediante el uso de compresión del sistema de archivos NTFS porque la compresión NTFS puede volver a escribir sectores de registro que ya está escrita y considera reforzadas de la base de datos. Producirse un error durante este tipo de reescritura puede ser inservible, dañar los datos de la base de datos que SQL Server ya se considera seguro.

Nota: SQL Server 2005 amplía el soporte o compresión para leer sólo las bases de datos y grupos de archivos. Consulte SQL Server 2005 Books Online para obtener información detallada.

Las operaciones de reescritura del sector transaccional son pertinentes para las bases de datos de SQL Server que incluyen la base de datos tempdb . Una creciente variedad de tecnologías de almacenamiento extendido utilizar dispositivos y utilidades que pueden volver a escribir los datos que se considera segura de SQL Server. Por ejemplo, algunas de las tecnologías emergentes realizan en caché o la compresión de datos. Para evitar daños graves de la base de datos, cualquier sector de reescritura debe tener compatibilidad transaccional completo de manera que si se produce un error, los datos se vuelve a las imágenes anteriores del sector. Esto garantiza que SQL Server nunca se expone a una interrupción inesperada o condición de daños de datos.

Puede colocar la base de datos tempdb en subsistemas de especialidad, como discos RAM, memoria de estado sólido u otras implementaciones de alta velocidad que no se puede utilizar para otras bases de datos. Sin embargo, los factores clave presentados en la sección "Más información" deben considerarse al evaluar estas opciones.
Más información
Deben estudiarse detenidamente varios factores al evaluar la ubicación de almacenamiento de información de la base de datos tempdb . Por ejemplo, el uso de la base de datos tempdb implica, pero no se limita a decisiones de entrada-salida, plan de consulta y consumo de memoria. El ajuste adecuado y la implementación de la base de datos tempdb pueden mejorar la escalabilidad y la capacidad de respuesta de un sistema. Esta sección describe los factores claves para determinar las necesidades de almacenamiento de información de la base de datos tempdb .

Subsistemas de alta velocidad

Existen diversas implementaciones de subsistema de alta velocidad en el mercado, que proporcionan al subsistema de E/S de SQL Server requisitos del protocolo pero que no proporcionan la durabilidad de los medios de comunicación.

Importante: Siempre confirme con el proveedor del producto para garantizar el pleno cumplimiento de necesidades de E/S de SQL Server.

Un disco RAM es un ejemplo común de una implementación. Discos RAM de instalación a los controladores necesarios y habilitar parte del disco RAM principal aparecen como y funcione como cualquier unidad de disco está conectado al sistema. Todos los subsistemas de E/S deben proporcionar el pleno cumplimiento de los requisitos de E/S de SQL Server. Sin embargo, es obvio que un disco RAM no es media duradero. Por lo tanto, una implementación como un disco RAM sólo puede utilizarse como la ubicación de la base de datos tempdb y no se puede utilizar para cualquier otra base de datos.

Claves para tener en cuenta antes de la instalación e implementación

Hay varios puntos a tener en cuenta antes de la implementación de la base de datos tempdb en este tipo de subsistema. En esta sección se utiliza un disco RAM como base para la discusión, pero se producen resultados similares en otras implementaciones de alta velocidad.

Seguridad de E/S

Cumplimiento de normas de lectura después de escritura y escribe sector transaccional es un requisito indispensable. Nunca implementar SQL Server en cualquier sistema que no es totalmente compatible con los requisitos de E/S de SQL Server o corre el riesgo de daños y pérdida de los datos.

Páginas ya en la caché (caché RAM doble)

Las tablas temporales son que todas las otras tablas en una base de datos. Son almacenados en caché por el grupo de búferes y controla las operaciones de escritura diferida. Almacenar las páginas de la tabla temporal en un disco RAM hace RAM doble almacenamiento en caché, uno en el grupo de búferes y otro en el disco RAM. Esto se toma directamente de tamaño de búfer total y generalmente reduce el rendimiento de SQL Server.

Renunciar a RAM

El disco RAM señala una parte de la memoria RAM principal como su nombre indica. Hay varias implementaciones de discos RAM y las cachés de archivos basados en la memoria RAM disponible. Algunas también habilitar el respaldo a las operaciones de E/S física. El elemento clave de la caché de archivos basada en RAM es que se tarda directamente de la memoria física que se puede utilizar SQL Server. Siempre tienen una evidencia segura agregando una caché basada en RAM mejora el rendimiento de la aplicación y no reducirá el rendimiento otro consulta o aplicación.

Ajustar primero

Una aplicación se debe ajustar para quitar ordenaciones innecesarios y no deseados y los valores de hash que podrían provocar que el uso de la base de datos tempdb . Muchas veces la adición de un índice puede quitar la necesidad de ordenación o de hash en el plan completo, conduce a un rendimiento óptimo, sin requerir el uso de la base de datos tempdb .

Puntos de posible beneficio

Las ventajas de poner la base de datos tempdb en un sistema de alta velocidad sólo pueden determinarse a través de rigurosas pruebas y mediciones de cargas de trabajo de aplicación. La carga de trabajo debe estudiarse cuidadosamente para las características que se puede beneficiar con la base de datos tempdb y la seguridad de E/S debe confirmarse antes de la implementación.

Las operaciones de ordenación y hash funcionan conjuntamente con los administradores de memoria de SQL Server para determinar el tamaño del área de borrador en memoria para cada operación de ordenación o de hash. Tan pronto como los datos de ordenación o de hash exceden el área de borrador asignado en la memoria, los datos pueden escribirse a la base de datos tempdb . Este algoritmo se ha ampliado en SQL Server 2005, lo que reduce los requisitos de uso de base de datos tempdb en versiones anteriores de SQL Server. Por ejemplo, mediante una ordenación pura forzada de una tabla, índices, orden descendente y la misma configuración de hardware, SQL Server 2005 no muestra notables mejoras respecto a SQL Server 2000.

Precaución SQL Server está diseñado para tener en cuenta los niveles de la memoria y las actividades de consulta actual al tomar decisiones de plan de consultas que implican el uso de operaciones de base de datos tempdb . Por lo tanto, las ganancias de rendimiento varían considerablemente en función de las cargas de trabajo y diseño de la aplicación. Recomendamos encarecidamente que complete las pruebas con la solución preferida para determinar posibles ganancias y evaluar los requisitos de seguridad de E/S antes de una implementación.

SQL Server utiliza la base de datos tempdb para controlar diversas actividades que impliquen el tipo, los valores de hash, el almacén de versiones de fila y temp de tablas:
  • Las tablas temporales se mantienen las rutinas de grupo de búfer común para las páginas de datos y generalmente no presentan las ventajas de rendimiento de las implementaciones de subsistema de Especialidad.
  • La base de datos tempdb se utiliza como un área de borrador para los valores de hash y tipo. Reducir la latencia de E/S para las operaciones de este tipo puede ser beneficioso. Sin embargo, saber que al agregar un índice para evitar un valor hash o un orden puede proporcionar una ventaja similar.
Ejecutar las líneas de base con y sin la base de datos almacenada en el subsistema de alta velocidad a comparar los beneficios . Parte de las pruebas debe incluir las consultas contra la base de datos de usuario que no implican el tipo, los valores de hash o tablas temporales y, a continuación, confirme que estas consultas no se ven perjudicadas. Al evaluar el sistema, los indicadores de rendimiento siguiente pueden ser útiles.
IndicadorDescripción y uso
Página de lecturas y escriturasMejorar el rendimiento de tempdb i/OS de la base de datos puede cambiar la frecuencia de lecturas de páginas y escribe para las bases de datos de usuario debido a la menor latencia asociada con la base de datos tempdb entrada-salida. Para páginas de base de datos de usuario, no debe variar el número total a través de la misma carga de trabajo.
Física de lectura y escritura de bytes a la base de datos tempdbSi mueve la base de datos tempdb a un dispositivo, como un disco RAM, aumenta la E/S real de la base de datos tempdb , indica que la toma el grupo de búferes de memoria es la causa que se produzca actividad de base de datos tempdb de mayor. Este modelo es un indicador que la esperanza de vida de la base de datos de páginas también puede verse afectado de forma negativa.
Esperanza de vidaUna disminución de la esperanza de vida puede indicar un aumento de los requisitos de E/S físicos de una base de datos de usuario. La disminución de velocidad probablemente podría indicar que la toma el grupo de búferes de memoria está obligando a las páginas de base de datos para salir el búfer antes de tiempo. Combinar con los otros indicadores y probar para comprender los límites de parámetro.
Rendimiento general
Uso de la CPU
Escalabilidad
Tiempo de respuesta
El objetivo principal de un cambio de configuración de base de datos tempdb es aumentar el rendimiento general. Las pruebas deben incluir una combinación de cargas de trabajo repetibles que pueden escalarse para determinar cómo se ve afectado el rendimiento.

Algo así como una implementación basada en la compresión en RAM disco funcionen bien con 10 usuarios. Sin embargo, con una mayor carga de trabajo, esto puede empujar los niveles de CPU más allá de los niveles deseados y tienen efectos negativos sobre el tiempo de respuesta cuando las cargas de trabajo están altas. Se recomienda animados las pruebas de esfuerzo es true y análisis de predicción de carga futura.
Archivos de trabajo y las acciones de creación de tabla de trabajoSi mueve la base de datos tempdb a un dispositivo, como un disco RAM, cambia el plan de consulta al aumentar el número o el tamaño de los archivos de trabajo o mesas de trabajo, indica que la toma el grupo de búferes de memoria es la causa que se produzca actividad de base de datos tempdb de mayor. Este patrón es una indicación de que la esperanza de vida de las páginas de la base de datos también puede afectar de forma negativa.

Ejemplo de reescritura del sector transaccional

En el ejemplo siguiente se explica la seguridad de los datos que es necesario para las bases de datos de SQL Server.

Suponga que un proveedor de disco RAM utiliza una implementación de la compresión en memoria. La aplicación debe estar encapsulada correctamente al proporcionar la apariencia física de la secuencia de archivo como si el sector se ha alineado y tamaño, por lo que SQL Server es consciente y correctamente protegidos de la implementación subyacente. Observe el ejemplo de compresión más cerca.
Acción
Sector 1 se escribe en el dispositivo y se comprime para ahorrar espacio.
Sector 2 se escribe en el dispositivo y se comprime con sector 1 para ahorrar espacio.
El dispositivo puede realizar las siguientes acciones para ayudar a proteger los datos del sector de 1 cuando se combina con datos de sector de 2.
Acción
Bloquear todas las escrituras en los sectores 1 y 2.
Descomprimir el sector 1 en un área de borrador, salido el sector 1 actual como los datos activos se recupera.
Comprimir sectores 1 y 2 en un nuevo formato de almacenamiento de información.
Bloquear todas las lecturas y escrituras de sectores 1 y 2.
Almacenamiento antiguo para sectores 1 y 2 con el nuevo almacenamiento de información de Exchange.
Si el intento de cambio falla (rollback):
  • Restaurar el almacenamiento de información original para sectores 1 y 2.
  • Quitar los datos de 1 y 2 combinada los sectores del área de borrador.
  • Un error en la operación de escritura del sector 2.
Desbloquear lecturas y escrituras de sectores 1 y 2.
La capacidad de proporcionar mecanismos de bloqueo alrededor de las modificaciones del sector y deshacer los cambios cuando se produce un error en el intento de intercambio del sector se considera transitorio compatible. Para las implementaciones que utilizan almacenamiento físico para soporte extendido, incluiría los aspectos de registro de transacción adecuada para ayudar a proteger y deshacer los cambios que se aplicaron a las estructuras en disco para mantener la integridad de los archivos de base de datos de SQL Server.

Cualquier dispositivo que permite la reescritura de sectores debe admitir la reescritura de forma transaccional para que SQL Server no está expuesto a la pérdida de datos.

Nota: La instancia de SQL Server se reinicia cuando se producen errores de rollback y E/S en línea en la base de datos tempdb .

Tenga cuidado al mover la base de datos tempdb

Tenga cuidado al mover la base de datos tempdb porque si no se puede crear la base de datos tempdb , SQL Server no se iniciará. Si no se puede crear la base de datos tempdb , inicie SQL Server con el (-f) el parámetro de inicio y mover la base de datos tempdb a una ubicación válida.

Para cambiar la ubicación física de la base de datos tempdb , siga estos pasos:
  1. Utilice la instrucción ALTER DATABASE y la cláusula MODIFY FILE para cambiar los nombres de archivo físico de cada archivo de la base de datos tempdb para hacer referencia a la nueva ubicación física, como el nuevo disco.
    Alter database tempdb modify file (name = tempdev, filename = 'C:\MyPath\tempdb.mdf')Alter database tempdb modify file (name = templog, filename = 'C:\MyPath\templog.ldf')
  2. Detenga y reinicie SQL Server.

Certificaciones de productos de asociados de negocios no son una garantía de compatibilidad o de seguridad

Un producto de otro fabricante o un proveedor en particular puede recibir una certificación del logotipo de Microsoft. Sin embargo, certificación de partner o un logotipo específico de Microsoft no certifica compatibilidad o idoneidad para un propósito particular en SQL Server.

Soporte técnico

Si se utiliza un subsistema con SQL Server que admite las garantías de E/S para el uso de bases de datos transaccionales, como se describe en este artículo, Microsoft proporcionará soporte técnico para aplicaciones basadas en SQL Server y SQL Server. Sin embargo, los problemas con, o causa, el subsistema se referirán al fabricante.

Problemas relacionados con la base de datos de tempdb , servicios de soporte técnico de Microsoft le pedirá que cambiar la ubicación de la base de datos tempdb . Póngase en contacto con el proveedor del dispositivo para comprobar que ha implementado correctamente y configurar el dispositivo para el uso de bases de datos transaccionales.

Microsoft no certifica ni valida que los productos de otros fabricantes funcionen correctamente con SQL Server. Además, Microsoft no proporciona ninguna garantía, garantía o declaración de idoneidad de ningún producto terceros para su uso con SQL Server.
Referencias
Para obtener más información, haga clic en los números de artículo siguientes para verlos en Microsoft Knowledge Base:
826433 PRB: Adicional de SQL Server se agregaron diagnósticos para detectar problemas de E/S sin informar
828339 Mensaje de error 823 puede indicar problemas de hardware o problemas del sistema en SQL Server
234656 Utilizar el almacenamiento en caché en la unidad de disco con SQL Server
304261 Descripción del soporte para los archivos de base de datos de red de SQL Server
913945 Microsoft no certifica que los productos de otros fabricantes funcionarán con Microsoft SQL Server
910716 Requisitos para SQL Server 2005 y SQL Server 2000 para admitir el espejado remoto de bases de datos de usuario
917043 Factores clave a tener en cuenta al evaluar los sistemas de memoria caché de archivo de terceros con SQL Server
Con SSDs en máquinas virtuales de Azure para almacenar TempDB de SQL Server y las extensiones del grupo de búfer

Mejores prácticas de performance para SQL Server en máquinas virtuales de Azure

Optimización de la consulta los planes con el SQL Server Estimador de cardinalidad de 2014

Rendimiento de las consultas


La información contenida en este documento representa la visión actual de Microsoft Corporation sobre los temas tratados en la fecha de publicación. Dado que Microsoft debe responder a las cambiantes condiciones del mercado, no debe interpretarse como un compromiso por parte de Microsoft y Microsoft no puede garantizar la precisión de ninguna información presentada después de la fecha de publicación.

Este documento es meramente informativo. MICROSOFT NO OFRECE NINGUNA GARANTÍA, EXPRESA, IMPLÍCITA O LEGAL, EN CUANTO A LA INFORMACIÓN DE ESTE DOCUMENTO.

Cumplir todas las leyes de copyright aplicables es responsabilidad del usuario. Sin limitar los derechos de autor, ninguna parte de este documento puede ser reproducida o transmitida de ninguna forma o por ningún medio (electrónico, mecánico, fotocopia, grabación o no) o para cualquier propósito, sin la previa autorización por escrito de Microsoft Corporation.

Microsoft puede tener patentes, solicitudes de patentes, marcas, derechos de autor y otros derechos de propiedad intelectual sobre los contenidos de este documento. A menos que se prevea en un contrato escrito de licencia de Microsoft, el suministro de este documento no le otorga ninguna licencia sobre estas patentes, marcas, derechos de autor y otros derechos de propiedad intelectual.

© 2006 Microsoft Corporation. Reservados todos los derechos.

Microsoft, Windows, Windows Server y SQL Server son marcas registradas o marcas comerciales de Microsoft Corporation en los Estados Unidos y/o en otros países.
SQL Server requiere sistemas de apoyo "entrega garantizada a medios estables" como debajo del contorno Requisitos del programa de confiabilidad de E/S de SQL Server.Para obtener más información acerca de los requisitos de entrada y salidos para el motor de base de datos de SQL Server, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
967576 Requisitos de entrada/salida de motor base de datos de Microsoft SQL Server


Advertencia: este artículo se tradujo automáticamente

Propiedades

Id. de artículo: 917047 - Última revisión: 05/12/2015 21:02:00 - Revisión: 2.0

Microsoft SQL Server 7.0 Standard Edition, Microsoft SQL Server 2000 Personal Edition, Microsoft SQL Server 2000 Standard Edition, Microsoft SQL Server 2000 Workgroup Edition, Microsoft SQL Server 2000 Developer Edition, Microsoft SQL Server 2000 Enterprise Edition, Microsoft SQL Server 2005 Express Edition, Microsoft SQL Server 2005 Standard Edition, Microsoft SQL Server 2005 Workgroup Edition, Microsoft SQL Server 2005 Developer Edition, Microsoft SQL Server 2005 Enterprise Edition, Microsoft SQL Server 2008 Developer, Microsoft SQL Server 2008 Enterprise, Microsoft SQL Server 2008 Express, Microsoft SQL Server 2008 Standard, Microsoft SQL Server 2008 R2 Developer, Microsoft SQL Server 2008 R2 Enterprise, Microsoft SQL Server 2008 R2 Express, Microsoft SQL Server 2008 R2 Standard, Microsoft SQL Server 2012 Developer, Microsoft SQL Server 2012 Enterprise, Microsoft SQL Server 2012 Express, Microsoft SQL Server 2012 Standard, Microsoft SQL Server 2014 Business Intelligence, Microsoft SQL Server 2014 Developer, Microsoft SQL Server 2014 Enterprise, Microsoft SQL Server 2014 Enterprise Core, Microsoft SQL Server 2014 Express, Microsoft SQL Server 2014 Service Pack 1, Microsoft SQL Server 2014 Standard, Microsoft SQL Server 2014 Web

  • kbsql2005setup kbsql2005engine kbexpertiseadvanced kbinfo kbmt KB917047 KbMtes
Comentarios