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

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

En esta página

Resumen

Microsoft SQL Server requiere que el subsistema de E/s utilizado para almacenar bases de datos del sistema y usuario totalmente respetar los requisitos de registro de escritura anticipada (WAL) a través de principales de E/s específicos. Estos requisitos son necesarios para respetar las propiedades ACID de transacciones: atómico, coherente, aislado y duradero. Se proporcionan detalles acerca de los requisitos de cumplimiento del subsistema de E/s en las siguientes referencias:La lista siguiente es un resumen rápido de los requisitos:
  • Debe mantenerse el orden de escritura.
  • Debe mantenerse la coherencia de escritura dependientes.
  • Escribe siempre debe protegerse en o en medios estables.
  • Debe aparecer la prevención de E/s incompletas.
Mantenimiento de durabilidad sigue siendo fundamental para otras bases de datos pero puede ser flexible para la base de datos tempdb . En la tabla siguiente se resumen algunos de los requisitos esenciales de E/s para las bases de datos de SQL Server.
Contraer esta tablaAmpliar esta tabla
requisito de E/s breve descripción del sistema o del usuario tempdb
orden escritura

Coherencia de escritura dependientes
La capacidad del subsistema para mantener el orden correcto de las operaciones de escritura. Esto puede ser especialmente importante para el reflejo de soluciones, los requisitos de coherencia de grupo y uso de protocolo de SQL Server WAL.RequeridoRecomienda
lectura después de escritura La capacidad del subsistema de servicio de solicitudes con la última imagen de datos de lectura cuando se emite la lectura después de completa cualquier escritura correctamente.RequeridoRequerido
supervivencia a través de interrupción La capacidad de datos permanezcan totalmente intacto (duradero) a través de un corte de energía, como un sistema de reinicia.RequeridoNo aplicable
Prevención de E/s incompleta La capacidad del sistema para evitar la división de solicitudes de E/s individuales.RequeridoRecomienda
sector de reescritura El sector sólo puede escribirse en su totalidad y no puede escribirse debido de una solicitud de escritura en un sector cercano.* No recomendable, sólo se permiten si transaccional* No recomendable, sólo se permiten si transaccional
datos reforzado La expectativa de que cuando una solicitud de escritura o de una operación FlushFileBuffers finaliza correctamente, se ha guardado datos en medios estables.RequeridoNo aplicable
sector físico alineación y tamaño SQL Server interroga las ubicaciones de almacenamiento de archivos de datos y de registro. Todos los dispositivos son necesarios para admite atributos de sector que permite a SQL Server para realizar escrituras en límites físicos sectores alineados y en múltiplos del tamaño del sector.RequeridoRequerido
* Transaccional sector reescribe implica operaciones totalmente registradas por el subsistema que permite un sector totalmente mover, reemplazar, o vuelve a la imagen original. Normalmente se recomienda no utilizar estos reescribe debido de sobrecarga necesaria para realizar dichas acciones adicionales. Un ejemplo de esto sería una utilidad de desfragmentación se mueve los datos del archivo. El sector en el archivo original no puede reemplazarse con la nueva ubicación del sector hasta que el nuevo sector y los datos están protegidos por completo. La reasignación del sector debe aparecer de forma transaccional para que cualquier fallo, incluyendo un corte de alimentación, hará que re-establishment 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 otros arrendatarios de E/s de SQL Server.

Supervivencia a través de interrupción

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

Operaciones de reescritura de sector transaccional

Para garantizar el éxito de los procesos de recuperación, como la recuperación de deshacer y bloqueo, los registros deben almacenarse correctamente en medios estables antes de la página de datos se almacena y no puede escribirse sin respetar propiedades transaccionales. Esto requiere el subsistema y SQL Server para mantener atributos específicos, como el orden de escritura, sector alineados y tamaño escrituras y otros tales atributos de seguridad de E/s descritos en los documentos mencionados anteriormente. La base de datos tempdb , la recuperación de bloqueo no es necesario porque la base de datos siempre se inicializa durante el inicio de SQL Server. Sin embargo, la base de datos tempdb todavía requiere las capacidades de reversión. Por lo tanto, algunos atributos del protocolo WAL pueden ser flexible.

La ubicación de almacenamiento para la base de datos tempdb debe actuar de acuerdo estricta con protocolos de unidad de disco establecida. De todas maneras, el dispositivo en el que se almacena la base de datos tempdb debe aparecer y actuar como un disco físico proporcionar lectura después de las 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 la base de datos modificaciones utilizando la compresión del sistema de archivos NTFS porque la compresión NTFS puede volver a escribir sectores de registro que ya se han escrito y considera reforzadas. Un corte durante este tipo de reescritura puede hacer que SQL Server ya se considera seguro de la base de datos quede inutilizable, dañar datos.

Nota SQL Server 2005 extendido de soporte o compresión para leer sólo las bases de datos y grupos de archivos. Vea los SQL Server 2005 libros en pantalla para obtener información detallada.

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

Puede colocar la base de datos tempdb en subsistemas de especialidad, como discos de RAM, de estado sólido o de 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

Varios factores deben estudió cuidadosamente al evaluar la ubicación de almacenamiento de la base de datos tempdb . Por ejemplo, el uso de base de datos tempdb implica, pero no está limitado a, consumo de memoria, plan de consulta y las decisiones de E/s. El tuning adecuado y la implementación de la base de datos tempdb puede mejorar la escalabilidad y capacidad de respuesta de un sistema. Esta sección describe los factores claves para determinar las necesidades de almacenamiento para la base de datos tempdb .

Subsistemas de alta velocidad

Existen diversas implementaciones de subsistema de alta velocidad en el mercado que proporcionan el subsistema de E/s de SQL Server requisitos del protocolo pero que no proporcionan la durabilidad de los medios.

importante Confirme siempre con el proveedor del producto para garantizar la compatibilidad completa con necesidades de E/s de SQL Server.

Un disco RAM es un ejemplo común de dicha implementación. Discos RAM instale a los controladores necesarios y habilite parte del disco RAM principal que aparezcan como y funcionan como cualquier unidad de disco conectado al sistema. Todos los subsistemas de E/s deben proporcionar compatibilidad completa con los requisitos de E/s de SQL Server. Sin embargo, es obvio que un disco RAM no es duradera medio. Por tanto, una implementación como un disco RAM sólo puede utilizarse como la ubicación de la base de datos tempdb y no puede utilizarse para cualquier base de datos.

Teclas para considerar antes de implementación y la implementación

Hay varios puntos que considerar antes de implementación de la base de datos tempdb en este tipo de subsistema. Esta sección 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 lectura después de escribir y escrituras de sector transaccional es obligatorio. Nunca implementar SQL Server en cualquier sistema que no es totalmente compatible con los requisitos de E/s de SQL Server o se arriesga a daños y pérdida de los datos.

Las páginas ya en caché (caché RAM doble)

Las tablas temporales son como todas las otras tablas de una base de datos. Están almacenados en caché el grupo de búferes y controla las operaciones de escritura diferida. Almacenar páginas de la tabla temporal en un disco RAM provoca RAM doble almacenamiento en caché en el grupo de búferes y uno en el disco RAM. Esto directamente toma lejos total de tamaño posible ?s grupo de búferes y normalmente reduce el rendimiento de SQL Server.

Abandonar la memoria RAM

El disco RAM designa una parte de memoria RAM principal como el nombre implica. Hay varias implementaciones de cachés de archivos basados en RAM y discos de RAM disponible. Algunas también permiten realizar operaciones de seguridad de E/s física. El elemento clave de la caché de archivo basado en la RAM es que se tarda directamente fuera de la memoria física que puede utilizarse por SQL Server. Siempre tienen evidencia seguro que agregar una caché de archivo basada en RAM mejora el rendimiento de aplicación y no disminuye otras rendimiento de consulta o la aplicación.

Ajustar primero

Una aplicación debe ajustar para quitar ordenaciones innecesarios y no deseados y 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 la ordenación o hash en el plan por completo, conduce a un rendimiento óptimo, sin requerir el uso de la base de datos tempdb .

Puntos posibles beneficios

Las ventajas de colocar la base de datos tempdb en un sistema de alta velocidad pueden determinarse sólo a través de pruebas rigurosas y medidas de cargas de trabajo de aplicación. La carga de trabajo tiene que ser estudiado detenidamente para las características que puede beneficiarse la base de datos tempdb y la seguridad de E/s se debe confirmar antes de la implementación.

Las operaciones de ordenación y hash funcionan junto 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 hash. Tan pronto como los datos de ordenación o hash exceden el área de borrador asignado en memoria, se pueden escribir datos en la base de datos tempdb . Este algoritmo se ha ampliado en SQL Server 2005, reducir los requisitos de uso de base de datos tempdb sobre las versiones anteriores de SQL Server. Por ejemplo, mediante una ordenación forzada pura de una tabla, índices, descendente orden y la misma configuración de hardware, SQL Server 2005 no muestra mejoras notables a través de SQL Server 2000.

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

SQL Server utiliza la base de datos tempdb para controlar diversas actividades que implican ordena, algoritmos hash, el almacén de versión de fila y temp tablas:
  • Las tablas temporales se mantienen las rutinas de grupo de búfer comunes para páginas de datos y generalmente no presentan ventajas de rendimiento de las implementaciones de subsistema de especialidad.
  • La base de datos tempdb se utiliza como un área de borrador para algoritmos hash y ordena. Reducir la latencia de E/s de dichas operaciones puede ser beneficioso. Sin embargo, saber que agregar un índice para evitar un hash o un criterio de ordenación puede proporcionar una ventaja similar.
Ejecutar líneas de base con y sin la base de datos tempdb almacenada en el subsistema de alta velocidad para comparar ventajas. Parte de las pruebas debe incluir consultas contra la base de datos de usuario que no implican ordena, hash o tablas temporales y confírmela que estas consultas no se ven perjudicadas. Al evaluar el sistema, pueden resultar de los siguientes indicadores de rendimiento.
Contraer esta tablaAmpliar esta tabla
indicador Descripción y uso
página lee y escribe Mejorar el rendimiento de tempdb E/s de base de datos puede cambiar la frecuencia de lecturas de página y escrituras de las bases de datos de usuario debido menor latencia asociada con la E/s de base de datos tempdb . Para las páginas de base de datos de usuario, el número total no debe variar entre la misma carga de trabajo.
física leer y escribir bytes en la base de datos tempdb Si mueve la base de datos tempdb a un dispositivo, como un disco RAM, aumenta la E/s real para la base de datos tempdb , indica que la tomada fuera el grupo de búferes de memoria está causando la actividad de la base de datos de tempdb de mayor para producirse. Este modelo es un indicador que esperanza de vida de la base de datos de páginas puede también se verán afectados de forma negativa.
esperanza de vida de página Un rechazo en esperanza de vida de página puede indicar un aumento en los requisitos de E/s físicos para una base de datos de usuario. La reducción de velocidad probablemente podría indicar que la memoria tomada fuera el grupo de búferes está obligando a páginas de base de datos a salir el grupo de búferes prematuramente. Combinar con los otros indicadores y pruebe para comprender los límites de parámetro.
rendimiento General
Uso de 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 mezcla de cargas de trabajo repetibles que puede escalarse para determinar cómo se ve afectado el rendimiento.

Algo como una implementación de disco de RAM basada en compresión funcionen bien con 10 usuarios. Sin embargo, con una mayor carga de trabajo, puede insertar los niveles de la CPU más allá de los niveles que desee y tener efectos negativos en tiempo de respuesta cuando las cargas de trabajo son altos. Se recomienda True pruebas de estrés y pruebas de predicción de carga futura.
archivos de trabajo y las acciones de creación de tabla de trabajo Si mover la base de datos tempdb a un dispositivo, como por ejemplo un disco RAM, cambia el plan de consulta aumentando el número o tamaño de archivos de trabajo o las tablas de trabajo, indica que la tomada fuera el grupo de búferes de memoria está causando la actividad de la base de datos de tempdb de mayor para producirse. Este patrón es una indicación de que la esperanza de vida de páginas de base de datos también pueden verse afectada de forma negativa.

Ejemplo de reescritura de sector transaccional

El ejemplo siguiente describen la seguridad de datos que es necesario para bases de datos de SQL Server.

Suponga que un proveedor de disco RAM utiliza una implementación de compresión en memoria. La implementación se debe encapsular correctamente proporcionando el aspecto físico de la secuencia de archivo como si el sector se alinean y tamaño por lo que SQL Server es incompatible con y protegido correctamente de la implementación subyacente. Examine el ejemplo de compresión más cerca.
Contraer esta tablaAmpliar esta tabla
acción
Sector 1 se escribe en el dispositivo y se comprime para ahorrar espacio.
El sector 2 se escribe en el dispositivo y se comprime con sector 1 para ahorrar espacio.
El dispositivo puede realizar las acciones siguientes para proteger el sector ?s 1 datos cuando se combina con datos de sector ?s 2.
Contraer esta tablaAmpliar esta tabla
acción
Bloquear todas las escrituras en sectores en 1 y 2.
Descomprimir sector 1 en un área de borrador, dejando almacenamiento sector 1 actual como datos de activos que se va a recuperar.
Comprimir sectores en 1 y 2 en un nuevo formato de almacenamiento.
Bloquear todas las lecturas y escrituras de sectores en 1 y 2.
Almacenamiento antiguo de sectores en 1 y 2 con nuevo almacenamiento de Exchange.
Si el intento de cambio fracasa (revertir):
  • Restaurar el almacenamiento original de sectores en 1 y 2.
  • Quitar los datos sectores en 1 y 2 combinadas desde el área de borrador.
  • Fallar la operación de escritura de sector 2.
Desbloquear lecturas y escrituras de sectores en 1 y 2.
La capacidad de proporcionar mecanismos de bloqueo alrededor de las modificaciones del sector y deshacer los cambios cuando falla el intento de cambio de sector se considera compatible momentáneamente. Para implementaciones que utilizan almacenamiento físico para copia de seguridad extendida, incluiría los aspectos de registro de transacción adecuados para proteger y deshacer 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 el reescribe 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 en línea de E/s o errores de reversión 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 , iniciar SQL Server mediante el (-f) 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. Utilizar 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 producto de socio no son un guaranty de compatibilidad o seguridad

Un producto de terceros o un proveedor determinado, puede recibir una certificación del logotipo de Microsoft. Sin embargo, certificación de socio o un logotipo específico de Microsoft no certificar compatibilidad o idoneidad para un fin determinado en SQL Server.

Soporte técnico

Si utiliza un subsistema con SQL Server que admite las garantías de E/s para el uso de la base de datos transaccional como se describe en este artículo, Microsoft proporcionará soporte técnico para SQL Server y las aplicaciones basadas en SQL Server. Sin embargo, los problemas con, o se causa, el subsistema se referencia del fabricante.

Para problemas relacionados con la base de datos tempdb , servicios de soporte de Microsoft le pedirá que reubicar la base de datos tempdb . Póngase en contacto con su proveedor de dispositivo para comprobar que tiene correctamente implementado y configurado el dispositivo para uso de bases de datos transaccionales.

Microsoft no certifica ni validar que los productos de otros fabricantes funcionen correctamente con SQL Server. Además, Microsoft no proporciona ninguna garantía, guaranty o instrucción de idoneidad de cualquier producto de terceros ?s para 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:
826433PRB: Adicionales de SQL Server agregados diagnósticos para detectar problemas de E/s no notificados
828339Mensaje de error 823 puede indicar problemas de hardware o problemas del sistema en SQL Server
234656Using Disk Drive Caching with SQL Server ("Utilización del almacenamiento en caché en las unidades de disco con SQL Server", este artículo está en inglés)
110352Optimizar el rendimiento de Microsoft SQL Server
304261Descripción de la compatibilidad con archivos de base de datos de red en SQL Server
913945Microsoft no certificar que los productos de otros fabricantes funcionarán con Microsoft SQL Server
910716Requisitos de SQL Server 2005 y SQL Server 2000 para admitir la creación de reflejos de bases de datos de usuario remoto
917043Factores claves a tener en cuenta al evaluar los sistemas de la caché de archivo de terceros con SQL Server
La información contenida en este documento representa la vista actual de Microsoft Corporation acerca de los asuntos tratados como la fecha de publicación. Dado que Microsoft debe responder a las condiciones cambiantes 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 tras la fecha de publicación.

Este documento es meramente informativo. MICROSOFT NO OTORGA GARANTÍAS EXPRESAS, IMPLÍCITAS U OBLIGATORIAS, COMO A LA INFORMACIÓN DE ESTE DOCUMENTO.

El cumplimiento de todas las leyes de copyright aplicables es responsabilidad del usuario. Sin limitar los derechos protegidos bajo copyright, ninguna parte de este documento se puede reproducir, almacenada en o introducida en un sistema de recuperación o transmitir de ninguna forma ni por ningún medio (electrónico, mecánico, photocopying, grabación o en caso contrario) con ningún propósito, sin el permiso expreso de Microsoft Corporation.

Microsoft puede tener patentes, aplicaciones de patentes, marcas, derechos de autor y otros derechos de propiedad intelectual sobre los contenidos de este documento. Excepto en lo dispuesto expresamente en cualquier contrato de licencia escrito 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. Todos los derechos reservados.

Microsoft, Windows, Windows Server y SQL Server son marcas registradas o marcas comerciales de Microsoft Corporation en Estados Unidos y/o en otros países.
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: 917047 - Última revisión: viernes, 02 de noviembre de 2007 - Versión: 1.6
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 kbsql2005setup kbsql2005engine kbexpertiseadvanced kbinfo KB917047 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): 917047

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