Descripción del uso de las cachés de disco con SQL Server que debe saber todo administrador de base de datos

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

Resumen

Un sistema de base de datos en primer lugar y principalmente es responsable de la almacenamiento exacta y recuperación de datos, incluso en el caso de errores del sistema inesperado.

El sistema debe garantizar la atomicidad y durabilidad de las transacciones, mientras Contabilidad para la ejecución actual, varias transacciones y varios puntos de error. A menudo se conoce como las propiedades ACID (atomicidad, coherencia, aislamiento y durabilidad).

Este artículo trata las implicaciones de una unidad de disco almacena en caché. Se recomienda que lea los artículos siguientes en Microsoft Knowledge Base para aclaración más almacenamiento en caché y alternan las discusiones de modo de error:
86903SQL Server y almacenamiento en caché los controladores de disco
46091Utilizando la caché de controlador de disco duro con SQL Server
230785Algoritmos de almacenamiento de datos y registro de SQL Server 7.0 y SQL Server 2000 amplían la confiabilidad de los datos
También se recomiendan los siguientes documentos:

Más información

Microsoft SQL Server 2005, SQL Server 2000, SQL Server 7.0, las versiones anteriores de SQL Server y muchos productos de base de datos convencional en el mercado utilizan hoy mismo el protocolo de escritura anticipada registro (WAL).
escritura anticipada registro protocolo (WAL)
El protocolo de término es una excelente forma de describir WAL. Es un objeto específico y conjunto definido de pasos de implementación necesarios para garantizar que los datos se almacenan y intercambian correctamente y se pueden recuperar a un estado conocido en el caso de un error. Tal como una red contiene un protocolo para intercambiar datos de una manera coherente y protegida, por lo tanto, definido demasiado ¿el WAL describe el protocolo para proteger los datos.
Todas las versiones de SQL Server abrir los archivos de registro y de datos mediante la función CreateFile de Win32. El miembro dwFlagsAndAttributes incluye la opción de FILE_FLAG_WRITE_THROUGH cuando abre por SQL Server.
FILE_FLAG_WRITE_THROUGH
Esta opción indica al sistema para escribir a través de cualquier caché intermedio y vaya directamente al disco. El sistema puede seguir almacenar en caché las operaciones de escritura, pero forma diferida no pueda vaciar.

La opción FILE_FLAG_WRITE_THROUGH garantiza que cuando una escritura operación devuelve éxito que los datos se almacenan correctamente en almacenamiento estable. Esto se alinea con la especificación de protocolo de escritura anticipada registro (WAL) para asegurar que los datos.
Muchas unidades de disco (SATA, ATA, SCSI e IDE basado) contienen integradas memorias caché de 512 KB, 1 MB y mayor. Cachés de unidad normalmente se basan en un condensador y no es una solución de seguridad de la batería . Estos mecanismos de almacenamiento en caché no pueden garantizar el ciclo de escrituras a través de una potencia o punto de error similar. Sólo garantiza la finalización de las operaciones de escritura del sector. Como las unidades continúan creciendo de tamaño, las cachés de aumentar de tamaño y exponen grandes cantidades de datos durante un error.

Mejorada sistemas de controlador de almacenamiento en caché deshabilitar la caché en disco y proporcionan un funcional batería de seguridad solución de almacenamiento en caché. Estas cachés pueden mantener los datos en la caché durante varios días y incluso permitir que la tarjeta de almacenamiento en caché para colocarse en un segundo equipo. Cuando alimentación se restaura correctamente, los datos implícitas se vaciaron completamente antes de que se permite cualquier acceso a datos más. Muchos de ellos permiten porcentaje de lectura frente a la caché de escritura para establecerse para un rendimiento óptimo. Algunos contienen áreas de almacenamiento de grandes cantidades de memoria. De hecho, para un segmento muy específico del mercado, algunos proveedores de hardware proporcionan almacenamiento en caché los sistemas con varios gigabytes de caché de disco batería superiores. Estos mejorará significativamente el rendimiento de la base de datos.

Transferencias de E/s se realizan sin utilizar una caché pueden ser mucho mayor debido de velocidades de número de unidad de disco duro, el tiempo mecánico que es necesario para mover los cabezales de unidad y otros factores limitadores. Las instalaciones de SQL Server están destinadas a sistemas que proporcionan controladores de almacenamiento en caché. Estos controladores de deshabilitar la caché en disco y proporcionan medios estable almacena en caché para satisfacer los requisitos de E/s de SQL Server. Se evitan problemas de rendimiento relacionados con la búsqueda en disco y escribir horas utilizando las diversas optimizaciones del controlador de almacenamiento en caché.

Hay muchos tipos de implementaciones de subsistema. RAID y SAN es dos ejemplos de estos tipos de implementaciones de subsistema. Estos sistemas se crean normalmente con las unidades SCSI. Hay varias razones para este. La siguiente sección genéricamente describen consideraciones de la unidad de nivel alto.

Unidades SCSI:
  • Normalmente se fabrica para uso arancel gruesa.
  • Normalmente está dirigido a implementaciones multiusuario basadas en servidor.
  • Suelen tener mejor meantime a tasas de error que otras implementaciones.
  • Contener sofisticado heurística para predecir errores inminentes.
Otras implementaciones de unidad, como por ejemplo, IDE ATA y SATA:
  • Normalmente se fabrica para uso de aranceles sobre la luz y medianas.
  • Normalmente está dirigido a aplicaciones de usuario única.
  • Algunas implementaciones más recientes contienen sofisticado heurística para predecir errores inminentes.
No-SCSI, basada en el escritorio controladores requieren más principal del procesador (CPU) de ancho de banda y son con frecuencia limitada por un único comando activo. Por ejemplo, cuando una unidad SCSI no está ajustando un bloque dañado, la unidad requiere que esperar los comandos del host. El bus ATA presenta otro ejemplo. El bus ATA admite 2 dispositivos, pero sólo un único comando puede estar activo. Esto deja inactiva una unidad mientras la unidad de otra servicios del comando pendiente. Sistemas RAID creados en las tecnologías de escritorio pueden experimentar estos síntomas y enormemente verse afectados por el contestador más lento. A menos que estos sistemas utilizan diseños avanzados, su rendimiento no será tan eficaz como el rendimiento de los sistemas basados en SCSI.

Hay situaciones en que una unidad de escritorio o una matriz es una solución bajo costo adecuada. Por ejemplo, si configura una base de datos de sólo lectura para informes, debe no recibirá muchos de los factores de rendimiento de una base de datos OLTP al almacenamiento en caché de disco está deshabilitado.

Unidad tamaños seguir aumentando. Unidades de bajo costo, de alta capacidad pueden ser muy atractivas. Pero cuando configure la unidad para SQL Server y sus necesidades de tiempo de respuesta, debe considerar detenidamente los problemas siguientes:
  • Diseño de la ruta de acceso
  • El requisito de deshabilitar la caché en disco
La tabla siguiente proporciona comentarios de nivel altos. La información de comentario se basa en configuraciones comunes de fabricación.

Contraer esta tablaAmpliar esta tabla
unidad Escriba sistema base comentarios
IDE y ATA
  • Girar en 7.200 RPM.
  • Dirigido a los escritorios y aplicaciones de usuario único.
  • De forma predeterminada, está habilitada la caché de disco. Utilice la ficha 'Propiedades de disco, ficha hardware para obtener acceso a la directiva 'Propiedades,' ' para controlar la configuración de caché de disco.

    Nota Algunas unidades no respeta esta configuración. Estas unidades requieren una utilidad de fabricante específico para deshabilitar la caché.
  • Almacenamiento en caché de disco debe deshabilitarse para utilizar la unidad con SQL Server.
  • IDE y sistemas basados en ATA pueden posponer comandos host cuando realicen actividades como ajuste de bloque no válido. Esto podría conducir a períodos de actividad de E/s detenida.
Equipo portátil o IDE
  • Girar en 5,200 RPM.
  • Dirigido a los equipos portátiles.
  • Vea otros comentarios en la sección IDE y ATA.
  • Almacenamiento ReadyDrive y Flash NY puede proporcionar capacidades de E/s estables.
SATA
  • Girar en 7.200 RPM.
  • Dirigido a los escritorios y servidores de intervalo medio.
  • De forma predeterminada, está habilitada la caché de disco. Utilice la ficha 'Propiedades de disco, ficha hardware para obtener acceso a la directiva 'Propiedades,' ' para controlar la configuración de caché de disco.

    Nota Algunas unidades no respeta esta configuración. Estas unidades requieren una utilidad de fabricante específico para deshabilitar la caché.
  • Almacenamiento de mayor capacidad y mayor almacena en caché de IDE y ATA contador partes.
  • Almacenamiento en caché de disco debe deshabilitarse para utilizar la unidad con SQL Server.
  • Cableado más pequeños e interconexiones.
  • Fácil interconexión con Serial Attached SCSI (SAS) unidades y las instalaciones.
  • Algunos son construcciones de predicción de error.
SCSI
  • Girar en el 10000 y 15.000 RPM.
  • Diseñado para servidores y aplicaciones multiusuario.
  • Diseñado para mayor ciclos de arancel y tasas de error reducido.
  • De forma predeterminada, está habilitada la caché de disco. Utilice la ficha 'Propiedades de disco, ficha hardware para obtener acceso a la directiva 'Propiedades,' ' para controlar la configuración de caché de disco.

    Nota Algunas unidades no respeta esta configuración. Estas unidades requieren una utilidad de fabricante específico para deshabilitar la caché.
  • Almacenamiento en caché de disco debe deshabilitarse para utilizar la unidad con SQL Server.
  • Sistemas de matriz y SAN normalmente utilizar cables más pequeños y las interconexiones.
  • Incluyen construcciones de predicción de error.
Serie Attached SCSI (SAS) incluye la cola avanzada hasta 256 niveles. SAS también incluye características como encabezado de la cola y la cola fuera de servicio. El plano posterior SAS está diseñado de forma que permite el uso de SAS y SATA unidades dentro del mismo sistema. Las ventajas del diseño SAS son obvias.

La instalación de SQL Server depende de capacidad del controlador de para deshabilitar la caché en disco y para proporcionar una caché de E/s estable. Escribir los datos desordenados en varios discos no es un obstáculo para SQL Server, siempre que el controlador proporciona las capacidades de almacenamiento en caché correctas del medio estable. Aumenta la complejidad del diseño controlador con técnicas de seguridad de datos avanzados como el reflejo.

Para proteger totalmente los datos, debe asegurarse de que todo el almacenamiento en caché datos correctamente trata. En muchas situaciones, esto significa que debe deshabilitar la caché de escritura de la unidad de disco.

Nota Asegúrese de que cualquier mecanismo de almacenamiento en caché alternativo correctamente puede controlar varios tipos de error.

Microsoft ha realizado pruebas en varias unidades SCSI e IDE, mediante la utilidad SQLIOStress . Esta utilidad simula actividad de lectura y escritura asincrónicas mucho a un dispositivo de datos simulados y dispositivo de registro. Estadísticas de rendimiento de prueba muestran las operaciones de escritura promedio por segundo entre 50 y 70 para una unidad con la caché de escritura deshabilitado y un intervalo RPM entre 5,200 7.200.

Para obtener información adicional y detalles acerca de SQLIOStress, consulte el siguiente artículo en Microsoft Knowledge Base:
231619INF: SQLIOStress utilidad al subsistema de disco de carga como SQL Server
Muchos fabricantes de PC (por ejemplo, Compaq, Dell, puerta de enlace o HP) orden de las unidades con la caché de escritura deshabilitada. Sin embargo, las pruebas muestra que esto no siempre sea el caso por lo que siempre debería probarlo completamente.

Nota Si hay cualquier pregunta que el estado de almacenamiento en caché de la unidad de disco, póngase en contacto con el fabricante y obtener la configuración correcta de utilidad o puente para deshabilitar las operaciones de almacenamiento en caché de escritura.

Referencias

Para obtener información detallada sobre los requisitos de E/s de SQL Server, visite el siguiente sitio Web: http://www.microsoft.com/sql/alwayson/overview.mspx
SQL Server requiere los sistemas admiten ? garantiza la entrega a medios estables ? como se describe en el programa de revisión de solución de almacenamiento de Microsoft SQL Server Always-On. FOPara obtener más información sobre 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:
967576Microsoft SQL Server Database Engine E/s requisitos

Propiedades

Id. de artículo: 234656 - Última revisión: viernes, 02 de noviembre de 2007 - Versión: 3.7
La información de este artículo se refiere a:
  • 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
Palabras clave: 
kbmt kbinfo KB234656 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): 234656

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