REVISIÓN: Archivos de datos de la base de datos pueden estar marcados incorrectamente como disperso en SQL Server 2008 R2 o en SQL Server 2008 incluso cuando los archivos físicos se marcan como no disperso en el sistema de archivos

Se aplica a: SQL Server 2008 R2 DeveloperSQL Server 2008 R2 EnterpriseSQL Server 2008 R2 Express

Microsoft distribuye Microsoft SQL Server 2008 R2 o Microsoft SQL Server 2008 corrige como un archivo descargable. Como las revisiones son acumulativas, cada versión nueva contiene todas las revisiones y revisión de todas las revisiones de seguridad que se incluyeron con la anterior SQL Server 2008 R2 o SQL Server 2008.

Síntomas


Microsoft SQL Server 2008 R2 o Microsoft SQL Server 2008 puede marcar archivos de datos de la base de datos como disperso incluso cuando los archivos físicos están marcados como no disperso en el sistema de archivos.

Notas:
  • Para determinar si los archivos de datos de la base de datos se marcan como disperso en los metadatos de SQL Server, ejecute la instrucción siguiente y, a continuación, compruebe si la columna Is_Sparse se establece en un valor distinto de cero en el conjunto de resultados:
    Use 
    <database name>
    select is_sparse , physical_name from sys.database_files
  • Para consultar el estado de los archivos físicos en el sistema de archivos, ejecute el siguiente comando de Windows después de la base de datos está sin conexión:
    fsutil sparse queryflag 
    <files path>\<database file>
    Si recibe el siguiente resultado, el archivo está marcado como disperso en el sistema de archivos:
    Este archivo está establecido como disperso.
  • Los metadatos de SQL Server y los metadatos del sistema de archivos deben marcarse como disperso para sólo archivos de datos de la base de datos que forman parte de una instantánea de base de datos.

Causa


Este problema se produce porque el sistema de archivos marca incorrectamente un archivo de datos de la base de datos completa como disperso después de una secuencia alternativa que originalmente estaba marcada como disperso se quita. Cuando finaliza un comando DBCC CHECKDB , se elimina la secuencia alternativa.

Notas:
  • Uso de instantáneas de base de datos interna es una característica NTFS que se utiliza en la familia de DBCC CHECKDB de los comandos. Cuando ejecuta comandos de DBCC , el motor de base de datos crea una secuencia alternativa de instantánea de base de datos y ésta pasa a un estado de coherencia transaccional. El comando DBCC ejecuta comprobaciones contra la secuencia alternativa. La secuencia alternativa se descarta después de que finalice el comando DBCC .
  • El diseño que hace que este problema se introdujo en Windows Server 2003 en el que se utilizan las copias de seguridad de nivel de volumen de Windows para hacer copia de seguridad de los archivos de base de datos. Los metadatos de SQL Server almacenan una copia de los atributos de los archivos de datos dispersos en las tablas del sistema. Sin embargo, SQL Server no actualiza la información de Is_Sparse después de quita el atributo sparse desde el sistema de archivos.
  • Este problema también se produce después de migrar una base de datos de Windows Server 2003 a una versión posterior de un sistema operativo Windows.

    Por ejemplo, migrar bases de datos de Windows Server 2003 a Windows Server 2008 o Windows Server 2008 R2.

Solución


Para resolver este problema en SQL Server 2008 R2 o en SQL Server 2008, aplique la revisión siguiente y, a continuación, conectar la base de datos. Cuando se conecte la base de datos, SQL Server comprueba si los metadatos del archivo físico de base de datos está marcado como disperso en el sistema de archivos. Si está marcada como no disperso, se actualizan los metadatos de SQL Server.

Nota: Para quitar atributos dispersos desde el sistema de archivos, copie los archivos de base de datos y, a continuación, utilice la nueva copia de los archivos de la base de datos. Para obtener más información acerca de este proceso, visite el siguiente sitio Web MSDN:

Información de actualización acumulativa

Service Pack 3 de SQL Server 2008

La corrección para este problema se publicó primero en el paquete de actualización acumulativa 1 para el Service Pack 3 de SQL Server 2008. Para obtener más información acerca de este paquete de actualización acumulativa, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
Paquete 1 de actualización de 2617146 acumulativa para el Service Pack 3 de SQL Server 2008
Nota: Como las compilaciones son acumulativas, cada versión de corrección nueva contiene todas las revisiones y revisión de todas las revisiones de seguridad que se incluyeron con la anterior de SQL Server 2008. Microsoft recomienda que considere la posibilidad de aplicar la versión más reciente de revisión que contenga este hotfix. Para obtener más información, haga clic en el siguiente número de artículo para verlo en Microsoft Knowledge Base:
2629969 the SQL Server 2008 generaciones que se publicaron después del lanzamiento de Service Pack 3 de SQL Server 2008
Las revisiones de Microsoft SQL Server 2008 se crean para determinados service Pack de SQL Server. Debe aplicar una revisión de Service Pack 3 de SQL Server 2008 a una instalación de Service Pack 3 de SQL Server 2008. De forma predeterminada, cualquier hotfix suministrada en un service pack de SQL Server se incluye en el próximo service pack de SQL Server.

SQL Server 2008 Service Pack 1

La corrección para este problema se publicó primero en el paquete de actualización acumulativa 16 para SQL Server 2008 Service Pack 1. Para obtener más información acerca de este paquete de actualización acumulativa, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
2582282 acum actualizar paquete 16 para SQL Server 2008 Service Pack 1
Nota: Como las compilaciones son acumulativas, cada versión de corrección nueva contiene todas las revisiones y revisión de todas las revisiones de seguridad que se incluyeron con la anterior de SQL Server 2008. Microsoft recomienda que considere la posibilidad de aplicar la versión más reciente de revisión que contenga este hotfix. Para obtener más información, haga clic en el siguiente número de artículo para verlo en Microsoft Knowledge Base:
970365 the SQL Server 2008 generaciones que se publicaron después del lanzamiento de SQL Server 2008 Service Pack 1
Las revisiones de Microsoft SQL Server 2008 se crean para determinados service Pack de SQL Server. Debe aplicar un hotfix de SQL Server 2008 Service Pack 1 en una instalación de SQL Server 2008 Service Pack 1. De forma predeterminada, cualquier hotfix suministrada en un service pack de SQL Server se incluye en el próximo service pack de SQL Server.

SQL Server 2008 Service Pack 2

La corrección para este problema se publicó primero en el paquete de actualización acumulativa 6 para SQL Server 2008 Service Pack 2. Para obtener más información acerca de este paquete de actualización acumulativa, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
2582285 acum actualizar paquete 6 para Service Pack 2 de SQL Server 2008
Nota: Como las compilaciones son acumulativas, cada versión de corrección nueva contiene todas las revisiones y revisión de todas las revisiones de seguridad que se incluyeron con la anterior de SQL Server 2008. Microsoft recomienda que considere la posibilidad de aplicar la versión más reciente de revisión que contenga este hotfix. Para obtener más información, haga clic en el siguiente número de artículo para verlo en Microsoft Knowledge Base:
2402659 the SQL Server 2008 generaciones que se publicaron después del lanzamiento de SQL Server 2008 Service Pack 2
Las revisiones de Microsoft SQL Server 2008 se crean para determinados service Pack de SQL Server. Debe aplicar un hotfix de SQL Server 2008 Service Pack 2 a una instalación de SQL Server 2008 Service Pack 2. De forma predeterminada, cualquier hotfix suministrada en un service pack de SQL Server se incluye en el próximo service pack de SQL Server.

CU9 de SQL Server 2008 R2

La corrección para este problema se publicó primero en el paquete de actualización acumulativa 9 para SQL Server 2008 R2. Para obtener más información acerca de cómo obtener este paquete de actualización acumulativa para SQL Server 2008 R2, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
Paquete 9 de actualización de 2567713 acumulativa para SQL Server 2008 R2
Nota: Como las compilaciones son acumulativas, cada versión de corrección nueva contiene todas las revisiones y revisión de todas las revisiones de seguridad que se incluyeron con la anterior de SQL Server 2008 R2. Le recomendamos que considere aplicar la versión más reciente de revisión que contenga este hotfix. Para obtener más información, haga clic en el siguiente número de artículo para verlo en Microsoft Knowledge Base:
981356 el SQL Server 2008 R2 se basa que se publicaron después del lanzamiento de SQL Server 2008 R2

SQL Server 2008 R2 Service Pack 1 CU2

La corrección para este problema se publicó primero en el paquete de actualización acumulativa 2. Para obtener más información acerca de cómo obtener este paquete de actualización acumulativa para SQL Server 2008 R2 SP1, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
Paquete 2 de actualización de 2567714 acumulativa para Service Pack 1 de SQL Server 2008 R2
Nota: Como las compilaciones son acumulativas, cada versión de corrección nueva contiene todas las revisiones y revisión de todas las revisiones de seguridad que se incluyeron con la anterior SQL Server 2008 R2 SP1. Le recomendamos que considere aplicar la versión más reciente de revisión que contenga este hotfix. Para obtener más información, haga clic en el siguiente número de artículo para verlo en Microsoft Knowledge Base:
2567616 the SQL Server 2008 R2 generaciones que se publicaron después del lanzamiento de SQL Server 2008 R2 Service Pack 1

Información de la revisión

Existe un hotfix disponible desde Microsoft. Sin embargo, esta revisión se diseñó para corregir únicamente el problema que se describe en este artículo. Aplique esta revisión solamente a sistemas que experimenten el problema descripto en este artículo. Esta revisión podría ser sometida a comprobaciones adicionales. Por lo tanto, si no se ve muy afectado por este problema, recomendamos que espere a la próxima actualización de software que contenga este hotfix.

Si la revisión está disponible para su descarga, hay una sección de "Descarga de revisión disponible" en la parte superior de este artículo de Knowledge Base. Si esta sección no aparece, póngase en contacto con el servicio al cliente de Microsoft y soporte técnico para obtener la revisión.

Nota: Si se producen problemas adicionales o si se requiere cualquier otra solución, será necesario crear una solicitud de revisión independiente. Los costos habituales de soporte se aplicarán a las preguntas de soporte técnico adicionales y problemas que no califican para esta revisión específica. Para obtener una lista completa de los números de teléfono de servicio al cliente de Microsoft o para crear una solicitud de servicio independiente, visite el siguiente sitio Web de Microsoft:
Nota: El formulario de "Descarga de Hotfix disponible" muestra los idiomas para los que el Hotfix está disponible. Si no ve su idioma, es porque no hay una revisión para ese idioma.

Requisitos previos

Para aplicar este hotfix, debe tener instalado SQL Server 2008 R2.

Requisito de reinicio

No es necesario que reinicie el equipo después de aplicar este hotfix.

Información de reemplazo de revisión

Esta revisión no sustituye a ninguna revisión publicada previamente.

Información de archivo

La versión global de esta revisión tiene los atributos de archivo (o atributos de último archivo) mostrados en la tabla siguiente. Las fechas y horas de estos archivos se muestran en la hora Universal coordinada (UTC). Al ver la información del archivo, se convierte en hora local. Para encontrar la diferencia entre la hora UTC y la hora local, utilice la ficha Zona horaria en el elemento de Fecha y hora del Panel de control.

Nombre del archivoVersión del archivoTamaño de archivoFechaHoraPlataforma
Sqlservr.exe2009.100.1800.0121,829,21608-Jul-201111:55IA-64
Sqlservr.exe2009.100.1800.062,027,61608-Jul-201112:28x64
Sqlservr.exe2009.100.1800.042,911,58408-Jul-201113:22x86

Estado


Microsoft ha confirmado que se trata de un problema de los productos de Microsoft que se enumeran en la sección "Aplicable a".

Más información


En la tabla siguiente proporciona más información acerca de los productos o herramientas que comprueban automáticamente si esta condición en la instancia de SQL Server y en las versiones del producto de SQL Server con el que se evalúa la regla.
Software de reglaTítulo de la reglaDescripción de la reglaVersiones del producto con el que se evalúa la regla
Asesor de System CenterArchivos de base de datos de SQL Server marcados como archivos dispersos
System Center Advisor comprueba si esta instancia de SQL Server contiene archivos de base de datos que están marcados como dispersos. Archivos de instantánea de base de datos sólo deben marcarse como archivos. Si los archivos de base de datos normal se marcan como disperso, asesor genera una alerta. Asesor se basa en la columna is_sparse de la sys.master_files de la vista de catálogo. Revise los detalles que se proporcionan en la sección "La información recogida" de la alerta del Asesor y comprobación el estado disperso en el nivel de sistema operativo para los archivos afectados. Después de borrar el estado disperso OS, puede aplicar el hotfix descrito en este artículo para actualizar los metadatos de SQL Server y sincronizar con la configuración del sistema operativo.

SQL Server 2008

SQL Server 2008 R2

SQL Server 2012

Referencias


Para obtener más información acerca de los comandos DBCC, visite el siguiente sitio Web MSDN:Para obtener más información acerca de la instrucción de Fsutil , visite el siguiente sitio Web MSDN:Para obtener más información acerca de este problema en Windows Server 2003, haga clic en los números de artículo siguientes para verlos en Microsoft Knowledge Base:
973886 no puede restaurar archivos de gran tamaño en el sistema de archivos NTFS cuando se eliminan todas las secuencias de datos que tienen atributos dispersos en la versión de 64 bits de Windows XP SP2 o en Windows Server 2003 SP2
932021 mensaje de error al ejecutar el comando "chkdsk" junto con el "/ v" cambiar en un equipo basado en Windows Server 2003: "Segmento de registro de la archivo disperso corregir < número >"