Síntomas
Imagine la siguiente situación:
-
Puede crear una base de datos en Microsoft SQL Server 2008 R2.
-
El nombre lógico de la base de datos se actualiza mediante la instrucción ALTER DATABASE.
-
Realice una copia de seguridad completa de la base de datos. Nota Se genera un archivo de copia de seguridad completo de la base de datos después de realizar la copia de seguridad.
-
Intenta restaurar la base de datos desde el archivo de copia de seguridad de la base de datos.
En esta situación, aparece este mensaje de error:
Msg 3234, Nivel 16, Estado 2, Archivo lógico de línea 1'<nombre de archivo lógico>' no forma parte de la base de datos '<nombre de base de datos>'. Use RESTORE FILELISTONLY para enumerar los nombres de archivo lógicos.Msg 3013, Nivel 16, Estado 1, Línea 1RESTAURAR BASE DE DATOS está terminando de forma anormal.
Si usa la instrucción RESTORE FILELISTONLY para comprobar el archivo de copia de seguridad, verá que el nombre de archivo lógico que actualizó está dañado. El último carácter del nombre de archivo lógico se trunca. Por ejemplo, intenta actualizar el nombre lógico de una base de datos para DB_modified. Sin embargo, se cambia incorrectamente a DB_modifie en el archivo de copia de seguridad.Nota Este problema no se produce si reinicia el servicio de SQL Server después de actualizar el nombre del archivo lógico.
Solución
Información sobre la actualización acumulativa
SQL Server 2008 R2
La corrección para este problema se publicó por primera vez en la actualización acumulativa 6. Para obtener más información sobre 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:
2489376 Paquete de actualización acumulativa 6 para SQL Server 2008 R2 Nota Como las compilaciones son acumulativas, cada nueva versión de corrección contiene todas las revisiones y todas las correcciones de seguridad que se incluyeron con la versión de corrección de SQL Server 2008 R2 anterior. Le recomendamos que considere la posibilidad de aplicar la corrección más reciente que contiene esta revisión. Si desea obtener más información, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
981356 Compilaciones de SQL Server 2008 R2 que se publicaron después del lanzamiento de SQL Server 2008 R2
Información de revisiones
Microsoft dispone de una revisión compatible. Sin embargo, esta revisión está pensada para corregir solo el problema que se describe en este artículo. Aplique esta revisión solo a los sistemas que experimentan el problema descrito en este artículo. Esta revisión podría recibir pruebas adicionales. Por lo tanto, si no se ve gravemente afectado por este problema, le recomendamos que espere a la siguiente actualización de software que contiene esta revisión.Si la revisión está disponible para su descarga, hay una sección "Descarga de revisiones 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 de asistencia al cliente de Microsoft para obtener la revisión. Nota Si se producen problemas adicionales o si es necesario solucionarlos, es posible que deba crear una solicitud de servicio independiente. Los costos de soporte técnico habituales se aplicarán a preguntas y problemas de soporte técnico adicionales que no reúnan los requisitos para esta revisión específica. Para obtener una lista completa de los números de teléfono de atención al cliente y soporte técnico de Microsoft o para crear una solicitud de servicio independiente, visita el siguiente sitio web de Microsoft:
http://support.microsoft.com/contactus/?ws=supportNota El formulario "Descarga de revisiones disponible" muestra los idiomas para los que está disponible la revisión. Si no ve su idioma, es porque una revisión no está disponible para ese idioma.
Requisitos previos
Para aplicar esta revisión, debe tener Microsoft SQL Server 2008 R2 instalado.
Requisito de reinicio
No tiene que reiniciar el equipo después de aplicar esta revisión.
Información de la sustitución de revisión
Esta revisión no reemplaza a ninguna otra revisión.
Información de archivo
La versión en inglés de esta revisión tiene los atributos de archivo (o atributos de archivo posteriores) que se enumeran en la tabla siguiente. Las fechas y horas de estos archivos se expresan de acuerdo con la hora universal coordinada (UTC). Cuando vea la información del archivo, esta se convertirá a la hora local. 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.
Instancia principal de servicios de base de datos de SQL Server 2008 R2 de SQL Server de 32 bits
|
Nombre de archivo |
Versión del archivo |
Tamaño de archivo |
Fecha |
Time |
Platform |
|---|---|---|---|---|---|
|
atxcore.dll |
2009.100.1755.0 |
26464 |
24-Dic-10 |
0:33 |
x86 |
|
datacollectorcontroller.dll |
2009.100.1755.0 |
135520 |
24-Dic-10 |
0:33 |
x86 |
|
etwcls.mof |
No aplicable |
1116328 |
23-Dic-10 |
3:54 |
No aplicable |
|
instmsdb.sql |
No aplicable |
2241260 |
22-Dic-10 |
20:49 |
No aplicable |
|
mssqlsystemresource.ldf |
No aplicable |
524288 |
22-Dic-10 |
22:52 |
No aplicable |
|
mssqlsystemresource.mdf |
No aplicable |
63569920 |
22-Dic-10 |
22:52 |
No aplicable |
|
sql_engine_core_inst_keyfile.dll |
2009.100.1755.0 |
13664 |
24-Dic-10 |
0:31 |
x86 |
|
sqlaccess.dll |
2009.100.1755.0 |
415584 |
24-Dic-10 |
0:29 |
x86 |
|
sqlagent.exe |
2009.100.1755.0 |
367968 |
24-Dic-10 |
0:34 |
x86 |
|
sqlagent100_msdb_upgrade.sql |
No aplicable |
2371245 |
23-Dic-10 |
3:53 |
No aplicable |
|
sqlos.dll |
2009.100.1755.0 |
14688 |
24-Dic-10 |
0:22 |
x86 |
|
sqlscriptdowngrade.dll |
2009.100.1755.0 |
14688 |
24-Dic-10 |
0:21 |
x86 |
|
sqlscriptupgrade.dll |
2009.100.1755.0 |
4611424 |
24-Dic-10 |
0:21 |
x86 |
|
sqlservr.exe |
2009.100.1755.0 |
42904928 |
24-Dic-10 |
0:34 |
x86 |
|
sqsrvres.dll |
2009.100.1755.0 |
89952 |
24-Dic-10 |
0:21 |
x86 |
Instancia principal de servicios de base de datos de SQL Server 2008 R2 de SQL Server de 64 bits
|
Nombre de archivo |
Versión del archivo |
Tamaño de archivo |
Fecha |
Time |
Platform |
|---|---|---|---|---|---|
|
atxcore.dll |
2009.100.1755.0 |
31584 |
23-Dic-10 |
23:40 |
x64 |
|
datacollectorcontroller.dll |
2009.100.1755.0 |
262496 |
23-Dic-10 |
23:40 |
x64 |
|
etwcls.mof |
No aplicable |
1116328 |
23-Dic-10 |
3:54 |
No aplicable |
|
instmsdb.sql |
No aplicable |
2241260 |
22-Dic-10 |
20:49 |
No aplicable |
|
mssqlsystemresource.ldf |
No aplicable |
524288 |
22-Dic-10 |
22:52 |
No aplicable |
|
mssqlsystemresource.mdf |
No aplicable |
63569920 |
22-Dic-10 |
22:52 |
No aplicable |
|
sql_engine_core_inst_keyfile.dll |
2009.100.1755.0 |
14176 |
23-Dic-10 |
23:40 |
x64 |
|
sqlaccess.dll |
2009.100.1755.0 |
403296 |
23-Dic-10 |
23:38 |
x86 |
|
sqlagent.exe |
2009.100.1755.0 |
428384 |
23-Dic-10 |
23:40 |
x64 |
|
sqlagent100_msdb_upgrade.sql |
No aplicable |
2371245 |
23-Dic-10 |
3:53 |
No aplicable |
|
sqlos.dll |
2009.100.1755.0 |
15712 |
23-Dic-10 |
23:37 |
x64 |
|
sqlscriptdowngrade.dll |
2009.100.1755.0 |
15712 |
23-Dic-10 |
23:37 |
x64 |
|
sqlscriptupgrade.dll |
2009.100.1755.0 |
4610912 |
23-Dic-10 |
23:37 |
x64 |
|
sqlservr.exe |
2009.100.1755.0 |
61957984 |
23-Dic-10 |
23:40 |
x64 |
|
sqsrvres.dll |
2009.100.1755.0 |
105824 |
23-Dic-10 |
23:37 |
x64 |
Itanium-architecture SQL Server 2008 R2 Database Services Core Instance
|
Nombre de archivo |
Versión del archivo |
Tamaño de archivo |
Fecha |
Time |
Platform |
|---|---|---|---|---|---|
|
atxcore.dll |
2009.100.1755.0 |
63328 |
23-Dic-10 |
23:05 |
ia64 |
|
datacollectorcontroller.dll |
2009.100.1755.0 |
477024 |
23-Dic-10 |
23:05 |
ia64 |
|
etwcls.mof |
No aplicable |
1116328 |
23-Dic-10 |
3:54 |
No aplicable |
|
instmsdb.sql |
No aplicable |
2241260 |
22-Dic-10 |
20:49 |
No aplicable |
|
mssqlsystemresource.ldf |
No aplicable |
524288 |
22-Dic-10 |
22:52 |
No aplicable |
|
mssqlsystemresource.mdf |
No aplicable |
63569920 |
22-Dic-10 |
22:52 |
No aplicable |
|
sql_engine_core_inst_keyfile.dll |
2009.100.1755.0 |
19296 |
23-Dic-10 |
23:05 |
ia64 |
|
sqlaccess.dll |
2009.100.1755.0 |
392032 |
23-Dic-10 |
23:01 |
x86 |
|
sqlagent.exe |
2009.100.1755.0 |
1205600 |
23-Dic-10 |
23:09 |
ia64 |
|
sqlagent100_msdb_upgrade.sql |
No aplicable |
2371245 |
23-Dic-10 |
3:53 |
No aplicable |
|
sqlos.dll |
2009.100.1755.0 |
22368 |
23-Dic-10 |
22:56 |
ia64 |
|
sqlscriptdowngrade.dll |
2009.100.1755.0 |
20832 |
23-Dic-10 |
22:56 |
ia64 |
|
sqlscriptupgrade.dll |
2009.100.1755.0 |
4617056 |
23-Dic-10 |
22:56 |
ia64 |
|
sqlservr.exe |
2009.100.1755.0 |
121762656 |
23-Dic-10 |
23:09 |
ia64 |
|
sqsrvres.dll |
2009.100.1755.0 |
188768 |
23-Dic-10 |
22:56 |
ia64 |
Estado
Microsoft ha confirmado que se trata de un problema de los productos de Microsoft enumerados en la sección "Se aplica a".
Solución alternativa
Para solucionar este problema, use uno de los dos métodos siguientes:
-
Después de modificar el nombre del archivo lógico, ejecute las instrucciones siguientes para reiniciar la base de datos:ALTER DATABASE <nombre de base de datos> SET OFFLINEALTER DATABASE <nombre de base de datos> SET ONLINE
-
Cuando modifique el nombre del archivo lógico, anexe un carácter de espacio ficticio en el nuevo nombre lógico. Por ejemplo, si desea cambiar el nombre lógico a DB_modified, use la siguiente instrucción para modificar el nombre de archivo lógico:ALTER DATABASE <nombre de base de datos> MODIFY FILE (NAME=N'<database name>', NEWNAME='DB_modified ') -- Anexar ' ' a NEWNAME
Referencias
Para obtener más información sobre la instrucción ALTER DATABASE Transact-SQLTransact-SQL, visite el siguiente sitio web de Microsoft Developer Network (MSDN):
Información general sobre la instrucción ALTER DATABASE Transact-SQLTransact-SQLPara obtener más información sobre la instrucción TRANSACT-SQL RESTORE FILELISTONLY, visite el siguiente sitio web de Microsoft Developer Network (MSDN):
Información general sobre la instrucción RESTORE FILELISTONLY Transact-SQL