Es posible que una copia de seguridad de instantánea no se finalizó correctamente cuando se producen varias copias de instantáneas VDI seguridad en SQL Server 2000

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

En esta página

Síntomas

Cuando ejecuta un comando de copia de seguridad de instantánea desde un servidor de Microsoft SQL Server aplicación de interfaz de dispositivos virtuales (VDI), es posible que la copia de seguridad no se finalizó correctamente si se cumplen las condiciones siguientes:
  • Se producen varias copias de instantáneas VDI seguridad.
  • No se ha emitido el comando thaw (CompleteCommand) para todas las bases de datos.
Además, puede observar un valor de waittype de 0x0081 en la tabla sysprocesses para el servidor de identificador de proceso (SPID) que emitió el comando de copia de seguridad. 0X0081 el valor de waittype indica que el SPID está esperando el registro de transacciones se vacían al disco. Este comportamiento puede ocurrir incluso cuando el VDI aplicación ha emitido el comando thaw (CompleteCommand) para esa copia de seguridad instantánea determinado.

Causa

Este comportamiento se produce cuando la aplicación de VDI emite varios comandos de copia de seguridad de instantáneas y la aplicación de VDI no ha emitido los comandos thaw (CompleteCommand) a todas las bases de datos.

Solución

Para evitar este comportamiento, la aplicación de VDI debe emitir los comandos thaw (CompleteCommand) a todas las bases de datos tan pronto como sea posible. No se recomienda que espere para que una base de datos de copia de seguridad finalizar antes de enviar el thaw comando (CompleteCommand) a una segunda copia de seguridad de base de datos. Este comportamiento puede producir la primera copia que se va incorrecta y dejar de responder (bloquearse). También puede provocar SQL Server deja de responder. Si se terminó la segunda copia de seguridad de base de datos, debe emitir el comando thaw (CompleteCommand) inmediatamente.

Más información

Cuando debe realiza copias de seguridad base de datos de varios VDI instantáneas, el proceso de copia de seguridad de instantáneas debe parecerse al siguiente:
  1. La aplicación de VDI emite el comando de copia de seguridad de instantáneas.

    Nota La base de datos es ahora está inmovilizada en SQL Server.
  2. SQL Server emite el comando VDC_Shapshot para el VDI aplicación.
  3. SQL Server espera a que la aplicación de VDI para finalizar la copia de seguridad los archivos de base de datos y de registro.
  4. Cuando la aplicación de VDI finalice la copia de seguridad los archivos de base de datos y registro, envía un comando thaw (CompleteCommand) a SQL Server.

    Nota La base de datos es ahora es inmovilización en SQL Server.
  5. SQL Server escribe en la página de inicio de la base de datos que se ha producido una copia de seguridad. A continuación, SQL Server vacía la página de inicio en disco. Este paso también requiere un registro de transacciones vaciado a disco.
  6. El comando de copia de seguridad se considera ahora terminado.
Nota Si el paso 5 no puede finalizar porque el escritor del registro no puede vaciar el registro de transacciones, no se podrá completar el comando de copia de seguridad. Si la aplicación de VDI implementa una llamada sincrónica para el comando de copia de seguridad, no se devolverá la llamada. Si la aplicación de VDI implementa una llamada asincrónica para el comando de copia de seguridad, las llamadas posteriores devolverá el valor de código SQL_STILL_EXECUTING.

Pasos para reproducir el comportamiento

Para reproducir este comportamiento con sólo dos copias de seguridad de instantánea, siga estos pasos:
  1. Analizador de consultas SQL, secuencias de comandos ejecución la siguiente instrucción Transact-SQL para crear dos bases de datos en el servidor:
    use master
    go
    create database test1
    go
    create database test2
    go
  2. Crear una tabla de usuario mediante la instrucción Transact-SQL siguiente secuencia de comandos:
    create table test2.dbo.t(c1 int)
    go
  3. Desde la aplicación de VDI, ejecutar un comando copia de seguridad de instantáneas en la base de datos test1 y espere.
  4. Desde la aplicación de VDI, emitir un comando copia de seguridad de instantánea a la base de datos test2 y espere.
  5. Analizador de consultas SQL, secuencias de comandos ejecución la siguiente instrucción Transact-SQL:
    begin transaction
    insert into test2.dbo.t values(1)
    commit transaction
    go 
    Nota este comando se bloquearán porque la base de datos test2 está inmovilizada en el paso 4.
  6. Emita el comando thaw (CompleteCommand) para la base de datos test1 desde la aplicación de VDI.

    Nota Observará que no puede completar el comando de copia de seguridad de la base de datos test1 porque debe esperar para que vaciar el registro de transacciones. La instrucción de transacción de confirmación en el paso 5 ha bloqueado el escritor del registro. Por tanto, la copia de seguridad en Prueba1 no se puede vaciar el registro de transacciones y completar la copia de seguridad.
  7. En el Analizador de consultas SQL, ejecutar la consulta siguiente para examinar la tabla sysprocesses :
    select * from sysprocesses 
    Nota Observe que el SPID que emitió la copia de seguridad Prueba1 tiene un valor waittype 0x0081. El SPID está esperando el registro de transacciones vaciar.
  8. Desde la aplicación de VDI, emitir el thaw comando (CompleteCommand) para la copia de seguridad de la base de datos de test2.

    Nota Observe que el comando de copia de seguridad para la base de datos test1 ha terminado.
Para realizar correctamente copias de seguridad todos los de las bases de datos con instantáneas, debe emitir el comando thaw (CompleteCommand) a todas las bases de datos están inmovilizadas tan pronto como sea posible.

Propiedades

Id. de artículo: 890544 - Última revisión: lunes, 07 de febrero de 2005 - Versión: 1.2
La información de este artículo se refiere a:
  • Microsoft SQL Server 2000 Standard Edition
Palabras clave: 
kbmt kbbackup kbinfo kbtshoot kbprb KB890544 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): 890544

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