Error #: 50001012 (SQL Hotfix)
Síntomas
En Microsoft SQL Server 2005 Service Pack 2 (SP2), las siguientes tareas de un plan de mantenimiento pueden perder contexto de base de datos en determinadas circunstancias:
- Comprobar la integridad de la base de datos
- Ejecutar instrucción T-SQL
Por ejemplo, si una tarea Comprobar la integridad de la base de datos está configurada para comprobar la integridad de varias bases de datos, la tarea comprueba repetidamente la base de datos predeterminada.
Para la tarea Ejecutar instrucción T-SQL, este problema se produce si se cumplen las siguientes condiciones:
La tarea Ejecutar instrucción T-SQL contiene varios lotes.
Los lotes se separan mediante la instrucción GO.
Ningún lote utiliza la instrucción USE para especificar la base de datos.
Las instrucciones de cada lote no contienen el nombre de la base de datos.
En este escenario, las instrucciones del segundo lote y de los siguientes lotes se ejecutarán en la base de datos predeterminada.
Nota: Puede confirmar que este problema se ha producido mediante SQL Server Profiler. Al realizar un seguimiento de la ejecución del plan de mantenimiento, consulte la columna Base de datos en SQL Server Profiler.
Resolución
Este problema se produce en las compilaciones 3042 a 3053 de SQL Server 2005 y en las compilaciones 3150 a 3158 de SQL Server 2005. Si está ejecutando una compilación de SQL Server 2005 SP2 entre 3042 y 3053, descargue e instale la siguiente actualización crítica desde el Centro de descarga de Microsoft.
Para obtener el paquete independiente de esta actualización, vaya al sitio web del Catálogo de Microsoft Update.
Después de instalar esta actualización crítica, la compilación de SQL Server 2005 es 3054.
Para obtener más información sobre cómo descargar archivos de soporte técnico de Microsoft, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
119591 Cómo obtener archivos de soporte técnico de Microsoft desde servicios en línea Microsoft examinó este archivo en busca de virus. Microsoft usó el software de detección de virus más reciente que había disponible en la fecha en la que se publicó el archivo. El archivo está guardado en servidores de seguridad mejorada que ayudan a prevenir cambios no autorizados del archivo.
Información de archivo
La versión en inglés de esta actualización crítica tiene los atributos de archivo enumerados en la siguiente tabla, u otros posteriores. Las fechas y horas de estos archivos se expresan de acuerdo con la hora universal coordinada (UTC). La información del archivo se convertirá a la hora local cuando la vea. Para conocer la diferencia entre la hora UTC y la hora local, use la pestaña Zona horaria del elemento Fecha y hora del Panel de control.
SQL Server 2005, versión de 32 bits
| Nombre de archivo | File version | Tamaño de archivo | Fecha | Hora | Plataforma |
|---|---|---|---|---|---|
| Microsoft.sqlserver.maintenanceplantasks.dll | 9.0.3054.0 | 296,304 | 23 de marzo de 2007 | 2,113 | x86 |
| Sqlaccess.dll | 2005.90.3054.0 | 350,576 | 23 de marzo de 2007 | 2,113 | x86 |
| Sqlservr.exe | 2005.90.3054.0 | 29,181,808 | 23 de marzo de 2007 | 2,113 | x86 |
SQL Server 2005, versión basada en x64
| Nombre de archivo | File version | Tamaño de archivo | Fecha | Hora | Plataforma |
|---|---|---|---|---|---|
| Microsoft.sqlserver.maintenanceplantasks.dll | 9.0.3054.0 | 296,304 | 23 de marzo de 2007 | 2,113 | x86 |
| Sqlaccess.dll | 2005.90.3054.0 | 357,744 | 24 de marzo de 2007 | 02:40 | x86 |
| Sqlservr.exe | 2005.90.3054.0 | 38,516,080 | 24 de marzo de 2007 | 02:40 | x64 |
SQL Server 2005, versión basada en Itanium
| Nombre de archivo | File version | Tamaño de archivo | Fecha | Hora | Plataforma |
|---|---|---|---|---|---|
| Microsoft.sqlserver.maintenanceplantasks.dll | 9.0.3054.0 | 296,304 | 23 de marzo de 2007 | 2,113 | x86 |
| Sqlaccess.dll | 2005.90.3054.0 | 352,112 | 24 de marzo de 2007 | 03:59 | x86 |
| Sqlservr.exe | 2005.90.3054.0 | 72,583,024 | 24 de marzo de 2007 | 03:59 | IA64 |
Si está ejecutando cualquier compilación de SQL Server 2005 SP2 entre 3150 y 3158, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
934459 CORRECCIÓN: Las tareas Comprobar integridad de la base de datos y Ejecutar instrucción T-SQL de un plan de mantenimiento pueden perder el contexto de la base de datos en determinadas circunstancias en SQL Server compilaciones 2005 3150 a 3158
Para obtener esta actualización crítica de forma automatizada, visite el siguiente sitio Web de Microsoft Update:
https://update.microsoft.comDespués de instalar esta actualización crítica, la compilación de SQL Server 2005 es 3161.
Para obtener más información acerca de cómo determinar la versión y edición de SQL Server, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
321185 Cómo identificar la versión y la edición del SQL Server
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 versión de lanzamiento original de SQL Server 2005 SP2 y versiones anteriores, los comandos relacionados con las tareas del plan de mantenimiento se acumulan y ejecutan al mismo tiempo. Cuando se produce un error, las tareas ya no se ejecutan y el resto de las tareas de mantenimiento no se realizan. En SQL Server 2005 SP2, los lotes individuales se envían de uno en uno. En la versión de lanzamiento original de SQL Server 2005 SP2, la conexión de base de datos se restableció entre lotes. Los lotes posteriores se dejaron en el contexto de la base de datos predeterminada en lugar de en el contexto que estaba presente antes de que se ejecutara la instrucción GO. Las tareas afectadas dependían del contexto que estaba presente antes de que se ejecutara la instrucción GO, específicamente la tarea Comprobar integridad de la base de datos y la tarea Ejecutar instrucción T-SQL.