Por que o Server 2008 executando o SQL 2008 produz uma exceção FlushFileBuffer?

1

Eu executo o SQL2k8 de 64 bits no WS2k8 de 64 bits e faço backup de um banco de dados em um arquivo UNC. O backup cria o arquivo, copia os dados e, quando termina, trava.

Banco de dados de backup Infovest para o disco = '\ riscsrv-dcm04 \ riscsrv-sql01_backups \ dvc_Infovest_Z.bak' com INIT, STATS = 1 ... 98 por cento processados. 99 por cento processados. 3422232 páginas processadas para o banco de dados 'Infovest', arquivo 'InfoVest_Data' no arquivo 1. 100 por cento processado. Processou 14383 páginas para o banco de dados 'Infovest', arquivo 'InfoVest_Log' no arquivo 1. Msg 3634, nível 16, estado 2, linha 1 O sistema operacional retornou o erro '64 (falha ao recuperar texto para este erro. Motivo: 15105) 'ao tentar' FlushFileBuffers 'em' \ riscsrv-dcm04 \ riscsrv-sql01_backups \ dvc_Infovest_Z.bak '. Msg 3013, nível 16, estado 1, linha 1 BACKUP DATABASE está terminando de forma anormal.

Alguém pode me dar algum conselho sobre como NÃO obter esse erro e ainda ser capaz de fazer backup em toda a rede? Os dois servidores são 64bit (src e dst), têm muito espaço e compartilham o mesmo switch gigabit. O banco de dados é 27 gb e outros backups de banco de dados, embora sejam menores. O tamanho importa? Esse backup também falha de maneira semelhante ao fazer backup em um dispositivo definido para um arquivo semelhante, também no mesmo diretory.

Estou preso aqui e gostaria de receber suporte para resolver esse erro do sistema operacional.

Atenciosamente Habeeb

    
por squillman 12.08.2009 / 08:59

1 resposta

2

Registre um caso de suporte com a Microsoft, pode ser um bug!

Aqui estão algumas coisas para verificar / experimentar:

A conta de serviço do SQL Server tem compartilhamento total e permissões NTFS na pasta \ riscsrv-dcm04 \ riscsrv-sql01_backups \?

Desabilite qualquer antivírus no servidor de remoção ou qualquer outra coisa que possa estar interferindo no salvamento de arquivos no disco.

Tente separar o backup em vários arquivos & veja se o erro ainda ocorre. Para isso, use multiple to disk = commands, por exemplo:

Backup database Infovest 
to disk = '\riscsrv-dcm04\riscsrv-sql01_backups\dvc_Infovest_Z_01.bak'
,  disk = '\riscsrv-dcm04\riscsrv-sql01_backups\dvc_Infovest_Z_02.bak'
,  disk = '\riscsrv-dcm04\riscsrv-sql01_backups\dvc_Infovest_Z_03.bak'

Se o servidor não for de produção (ou se você tiver uma janela de manutenção), tente alterar seu grau máximo de paralelismo para 1 antes de fazer um backup & mude de volta quando o seu feito:

sp_configure 'show advanced options', 1;
GO
RECONFIGURE WITH OVERRIDE;
GO
sp_configure 'max degree of parallelism', 1;
GO
RECONFIGURE WITH OVERRIDE;
GO
    
por 12.08.2009 / 09:56