none
Erro de Timed Out ao executar backup SQL Server 2005 em fita RRS feed

  • Pergunta

  • Olá Pessoal!

    Estou com um probleminha ao executar o backup no SQL 2005.

    São vários Steps com os seguintes comandos em cada:

    BACKUP DATABASE [GUARDIAN55] TO TAPE = N'\\.\Tape0' WITH FORMAT, INIT, NAME = N'GUARDIAN55.bak', SKIP, NOREWIND, NOUNLOAD, STATS = 10

    BACKUP DATABASE [MWS_66] TO TAPE = N'\\.\Tape0' WITH NOINIT , NOUNLOAD , NAME = N'MWS_66.bak', SKIP , STATS = 10, NOFORMAT

    BACKUP DATABASE [MIE_AURORA] TO TAPE = N'\\.\Tape0' WITH NOFORMAT, NOINIT, NAME = N'MIE_AURORA.bak', SKIP, NOUNLOAD, STATS = 10

    BACKUP DATABASE [MWS_INTEGRA_CONFIG] TO TAPE = N'\\.\Tape0' WITH NOINIT , NOUNLOAD , NAME = N'MWS_INTEGRA_CONFIG.bak', SKIP , STATS = 10, NOFORMAT

    BACKUP DATABASE [MWST] TO TAPE = N'\\.\Tape0' WITH NOFORMAT, NOINIT, NAME = N'MWST.bak', SKIP, REWIND, UNLOAD, STATS = 10

    Só que último Step esta dando erro, ele completa o backup mas não ejeta a fita, retornando erro no backup, segue o erro:

    Message
    Executed as user: AUTORIDADE NT\SYSTEM. ... 100 percent processed. [SQLSTATE 01000] (Message 3211) Processed 1 pages for database 'MWST', file 'MWST_Log' on file 5. [SQLSTATE 01000] (Message 4035) Request for device '\\.\Tape0' timed out. [SQLSTATE 42000] (Error 3229) Unable to unload one or more tapes. See the error log for details. [SQLSTATE 42000] (Error 3213) BACKUP DATABASE is terminating abnormally. [SQLSTATE 42000] (Error 3013). The step failed.

    A soma total de dados não chega a 100GB, e a fita é uma LTO3 que pode gravar de 400 a 800GB.

    Já troquei a unidade de fita, comprei fitas novas e o erro continua.

    Outra coisa, se não colocar as opções REWIND e UNLOAD ele faz o backup sem erros... porém a fita não ejeta.

    Tenho o mesmo problema em outro servidor com a mesma unidade de backup.

    Percebi também que se eu deixar de gravar umas das bases, ele faz o backup e ejeta a fita normalmente, sem acusar erros.

    Gostaria de um Help, se alguém já teve esse problema e conseguiu resolver por favor me de uma luz.

    Já entrei em contato com a HP e eles falaram que o problema pode ser com o SQL Server. Tenho a Versão 2005 Standard e Enterprise, com SP4 e rodando no Windows Server 2003 SP2.

    O modelo da unidade de backup é HP Ultrium 920 SCSI LTO3

    terça-feira, 11 de outubro de 2011 19:59

Respostas

  • Maico,

     

    Tente especificar o BLOCKSIZE em sua query de backup, creio que possa te ajudar.

    Tente isso:

    BACKUP DATABASE [GUARDIAN55] TO TAPE = N'\\.\Tape0' WITH FORMAT, INIT, NAME = N'GUARDIAN55.bak', SKIP, NOREWIND, NOUNLOAD, STATS = 10, BLOCKSIZE = 65536

     

    BACKUP DATABASE [MWS_66] TO TAPE = N'\\.\Tape0' WITH NOINIT , NOUNLOAD , NAME = N'MWS_66.bak', SKIP , STATS = 10, NOFORMAT, BLOCKSIZE = 65536

     

    BACKUP DATABASE [MIE_AURORA] TO TAPE = N'\\.\Tape0' WITH NOFORMAT, NOINIT, NAME = N'MIE_AURORA.bak', SKIP, NOUNLOAD, STATS = 10, BLOCKSIZE = 65536

     

    BACKUP DATABASE [MWS_INTEGRA_CONFIG] TO TAPE = N'\\.\Tape0' WITH NOINIT , NOUNLOAD , NAME = N'MWS_INTEGRA_CONFIG.bak', SKIP , STATS = 10, NOFORMAT, BLOCKSIZE = 65536

     

    BACKUP DATABASE [MWST] TO TAPE = N'\\.\Tape0' WITH NOFORMAT, NOINIT, NAME = N'MWST.bak', SKIP, REWIND, UNLOAD, STATS = 10, BLOCKSIZE = 65536


    Fabrizzio A. Caputo
    Certificações:
    Oracle OCA 11g
    MCITP SQL Server 2008 Implementation and Maintenance
    MCITP SQL Server 2008 Developer
    Blog Pessoal: www.fabrizziocaputo.wordpress.com
    Blog Empresa: www.tripletech.com.br/blog
    Twitter: @FabrizzioCaputo
    Email: fabrizzio.antoniaci@gmail.com
    quinta-feira, 13 de outubro de 2011 12:32
    Moderador
  • Maicosoft,

    A mensagem de erro esta alertando que o dispositivo no esta pronto para ser utilizado, por algum motivo sua unidade de fita não esta respondendo aos comandos para continuidade do backup.

    Você disse que se realizar backups com tamanhos menores funciona?

    Se não utilizar as opções Rewind e Unload a fita não é ejetada, até ai tudo bem, isso não vai atrapalhar o processo de backup, o que importa e realizar a gravação.

    O que esta me parecendo é alguma falha no próprio Windows durante o processo de gravação dos dados!!! Não existe nenhuma outra tarefa que possa estar gerando algum tipo de concorrência com o seu backup?

     


    Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | SorBR.Net | Professor Universitário | MSIT.com]
    sábado, 15 de outubro de 2011 23:07
    Moderador
  • Olá pessoal, estou aqui novamente.

    Acredito que o problema não seja de hardware como sugere o tópico

    http://social.msdn.microsoft.com/Forums/en-US/sqldatabaseengine/thread/16857979-d1f7-4223-98bb-0410bf7c45a8/

    pois uma das unidades de backup é novinha (uma semana de uso) e a outra já tem um tempo e começou a acusar o erro a alguns dias. Tenho 11 servidores realizando backup da mesma forma e praticamente todos com as mesmas bases de dados, só alguns utilizam unidades da IBM e outros da HP.

    Tenho um outro caso de um servidor que também estava acusando este erro que foi eliminado com a redução das bases (obs.: utiliza o mesmo modelo de unidade de backup destes servidores que acusam o erro agora). Reduzi o que pude das bases, mas mesmo assim não foi o suficiente para parar de acusar o erro.

    Fiz um teste que funcionou sem acusar erro, foi fazer o backup de todas as bases com a opção NOREWIND e NOUNLOAD, adicionei mais um step com a opção:

    IF EXISTS (select 1 from sys.dm_io_backup_tapes)

                RESTORE REWINDONLY FROM TAPE = N'\\.\Tape0'

    Com esse comando a fita é robobinada e não da erro, porém ainda não ejeta.

    Daí baixei um programa da internet, MT.exe

    http://www.holistech.co.uk/sw/mt/mt.html

    onde você pode enviar alguns comandos para a unidade de fita, para ejetar, etc. Então dei os comandos a seguir: 

    mt.exe unlock (porque o sql bloqueia a fita)

    mt.exe eject (ejeta a fita)

    Com esta “gambiarra” funciona, porém tenho que executar esses comandos por fora com um bat, etc.

    Será que existe alguma incompatibilidade do SQL com este modelo de unidade da HP Ultrium 920 LTO3. Pelo que li nos fóruns tinha este problema no SQL 2005 com SP2 que foi corrigido no SP3 e SP4 (estou com o SP4).

    Não gostaria de ficar fazendo “gambiarra” pra resolver.

    segunda-feira, 17 de outubro de 2011 11:45

Todas as Respostas

  • No error log não tem nenhuma informação? Algo do tipo "Tape in use" ou "Access denied".
    View Ricardo Muramatsu's profile on LinkedIn
    terça-feira, 11 de outubro de 2011 21:28
  • Maico,

     

    Tente especificar o BLOCKSIZE em sua query de backup, creio que possa te ajudar.

    Tente isso:

    BACKUP DATABASE [GUARDIAN55] TO TAPE = N'\\.\Tape0' WITH FORMAT, INIT, NAME = N'GUARDIAN55.bak', SKIP, NOREWIND, NOUNLOAD, STATS = 10, BLOCKSIZE = 65536

     

    BACKUP DATABASE [MWS_66] TO TAPE = N'\\.\Tape0' WITH NOINIT , NOUNLOAD , NAME = N'MWS_66.bak', SKIP , STATS = 10, NOFORMAT, BLOCKSIZE = 65536

     

    BACKUP DATABASE [MIE_AURORA] TO TAPE = N'\\.\Tape0' WITH NOFORMAT, NOINIT, NAME = N'MIE_AURORA.bak', SKIP, NOUNLOAD, STATS = 10, BLOCKSIZE = 65536

     

    BACKUP DATABASE [MWS_INTEGRA_CONFIG] TO TAPE = N'\\.\Tape0' WITH NOINIT , NOUNLOAD , NAME = N'MWS_INTEGRA_CONFIG.bak', SKIP , STATS = 10, NOFORMAT, BLOCKSIZE = 65536

     

    BACKUP DATABASE [MWST] TO TAPE = N'\\.\Tape0' WITH NOFORMAT, NOINIT, NAME = N'MWST.bak', SKIP, REWIND, UNLOAD, STATS = 10, BLOCKSIZE = 65536


    Fabrizzio A. Caputo
    Certificações:
    Oracle OCA 11g
    MCITP SQL Server 2008 Implementation and Maintenance
    MCITP SQL Server 2008 Developer
    Blog Pessoal: www.fabrizziocaputo.wordpress.com
    Blog Empresa: www.tripletech.com.br/blog
    Twitter: @FabrizzioCaputo
    Email: fabrizzio.antoniaci@gmail.com
    quinta-feira, 13 de outubro de 2011 12:32
    Moderador
  • Olá pessoal, ja tentei com o BLOCKSIZE = 65536 e mesmo assim o erro ocorreu. Segue "error log" a partir do momento do erro:

    -------------------------------------------

    Date  13/10/2011 10:04:45
    Log  SQL Server (Current - 13/10/2011 10:04:00)

    Source  spid63

    Message
    Error: 18210, Severity: 16, State: 1.

    -------------------------------------------

    Date  13/10/2011 10:04:45
    Log  SQL Server (Current - 13/10/2011 10:04:00)

    Source  spid63

    Message
    BackupTapeFile::UnloadTape: PrepareTape(UNLOCK) failure on backup device '\\.\Tape0'. Operating system error 21(O dispositivo não está pronto.).

    -------------------------------------------

    Date  13/10/2011 10:04:45
    Log  SQL Server (Current - 13/10/2011 10:04:00)

    Source  Backup

    Message
    Error: 3041, Severity: 16, State: 1.
    -------------------------------------------

    Date  13/10/2011 10:04:45
    Log  SQL Server (Current - 13/10/2011 10:04:00)

    Source  Backup

    Message
    BACKUP failed to complete the command BACKUP DATABASE MWST. Check the backup application log for detailed messages.

    -------------------------------------------

    E termina aí... como disse... se eu gravar menos dados funciona normalmente, ejeta tudo certinho... parece que o SQL não esta esperando o suficiente para terminar o processo...

    quinta-feira, 13 de outubro de 2011 13:20
  • Maicosoft,

    A mensagem de erro esta alertando que o dispositivo no esta pronto para ser utilizado, por algum motivo sua unidade de fita não esta respondendo aos comandos para continuidade do backup.

    Você disse que se realizar backups com tamanhos menores funciona?

    Se não utilizar as opções Rewind e Unload a fita não é ejetada, até ai tudo bem, isso não vai atrapalhar o processo de backup, o que importa e realizar a gravação.

    O que esta me parecendo é alguma falha no próprio Windows durante o processo de gravação dos dados!!! Não existe nenhuma outra tarefa que possa estar gerando algum tipo de concorrência com o seu backup?

     


    Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | SorBR.Net | Professor Universitário | MSIT.com]
    sábado, 15 de outubro de 2011 23:07
    Moderador
  • Olá pessoal, estou aqui novamente.

    Acredito que o problema não seja de hardware como sugere o tópico

    http://social.msdn.microsoft.com/Forums/en-US/sqldatabaseengine/thread/16857979-d1f7-4223-98bb-0410bf7c45a8/

    pois uma das unidades de backup é novinha (uma semana de uso) e a outra já tem um tempo e começou a acusar o erro a alguns dias. Tenho 11 servidores realizando backup da mesma forma e praticamente todos com as mesmas bases de dados, só alguns utilizam unidades da IBM e outros da HP.

    Tenho um outro caso de um servidor que também estava acusando este erro que foi eliminado com a redução das bases (obs.: utiliza o mesmo modelo de unidade de backup destes servidores que acusam o erro agora). Reduzi o que pude das bases, mas mesmo assim não foi o suficiente para parar de acusar o erro.

    Fiz um teste que funcionou sem acusar erro, foi fazer o backup de todas as bases com a opção NOREWIND e NOUNLOAD, adicionei mais um step com a opção:

    IF EXISTS (select 1 from sys.dm_io_backup_tapes)

                RESTORE REWINDONLY FROM TAPE = N'\\.\Tape0'

    Com esse comando a fita é robobinada e não da erro, porém ainda não ejeta.

    Daí baixei um programa da internet, MT.exe

    http://www.holistech.co.uk/sw/mt/mt.html

    onde você pode enviar alguns comandos para a unidade de fita, para ejetar, etc. Então dei os comandos a seguir: 

    mt.exe unlock (porque o sql bloqueia a fita)

    mt.exe eject (ejeta a fita)

    Com esta “gambiarra” funciona, porém tenho que executar esses comandos por fora com um bat, etc.

    Será que existe alguma incompatibilidade do SQL com este modelo de unidade da HP Ultrium 920 LTO3. Pelo que li nos fóruns tinha este problema no SQL 2005 com SP2 que foi corrigido no SP3 e SP4 (estou com o SP4).

    Não gostaria de ficar fazendo “gambiarra” pra resolver.

    segunda-feira, 17 de outubro de 2011 11:45