MSSQLSERVER_3056
Aplica-se a:SQL Server
Detalhes
Atributo | Valor |
---|---|
Nome do Produto | SQL Server |
ID do evento | 3056 |
Origem do Evento | MSSQLSERVER |
Componente | SQLEngine |
Nome simbólico | DMPDB_INVALID_FSDATA |
Texto da mensagem | A operação de backup detectou um arquivo inesperado em um contêiner FILESTREAM. A operação de backup irá continuar e incluir o arquivo '%ls'. |
Explicação
O erro 3056 será gerado se houver arquivos no contêiner FILESTREAM (pasta) que não são criados por SQL Server. A operação de backup incluirá esse arquivo, mas isso causará um estado inconsistente dos componentes de fluxo de arquivos no banco de dados.
Aviso
O contêiner FILESTREAM é uma pasta gerenciada por SQL Server. Não adicione nem remova arquivos na pasta FILESTREAM
Ação do usuário
A mensagem de erro inclui o nome do arquivo inesperado. Investigue como esse arquivo foi parar nessa pasta.
Encerre seus backups e verifique se os backups anteriores desse banco de dados não são substituídos ou perdidos
Execute um DBCC CHECKB completo no banco de dados para o qual o backup falhou com o erro 3056. Não use com physical_only
Examine a saída DBCC CHECKB detalhadamente; erros podem ser detectados durante fases diferentes e ter centenas de linhas separadas para os mesmos objetos
- As últimas linhas de saída CHECKDB fornecerão uma contagem resumida de erros. Verifique se você localizou a mensagem individual para cada um dos erros contados
- Você encontra um erro semelhante a este na parte inferior:
CHECKDB found 1 allocation errors and 1 consistency errors in database 'AG_Filestream'.
Se os únicos erros relatados forem 7908 ou 7906, você poderá localizar os arquivos reais relatados no erro. Os erros podem ter esta aparência, por exemplo:
Msg 7906, Level 16, State 1, Line 8 Database error: The file "\782fc3bb-dc63-4ab8-9de6-e9dfa36454d2\NO_USER_FILE_SHOULD_BE_HERE.txt" is not a valid FILESTREAM file in container ID 65537. Msg 7908, Level 16, State 1, Line 8 Table error: The file "\782fc3bb-dc63-4ab8-9de6-e9dfa36454d2\NO_USER_FILE_SHOULD_BE_HERE.txt" in the rowset directory ID 3068163f-7398-4ae7-843c-67672e29c37e is not a valid FILESTREAM file in container ID 65537.
Observação
É recomendável que você teste essas etapas em uma cópia de backup/teste do banco de dados antes de tentar usá-las no sistema de produção.
Para localizar os arquivos, execute este comando para localizar a pasta física do grupo FILESTREAM
SELECT name, physical_name, state_desc, type_desc FROM sys.database_files WHERE type_desc = 'FILESTREAM'
No Windows Explorer, abra a subpasta identificada no erro 7906 ou 7908 (por exemplo, \782fc3bb-dc63-4ab8-9de6-e9dfa36454d2)
Em seguida, localize o arquivo identificado na mensagem de erro (por exemplo, NO_USER_FILE_SHOULD_BE_HERE.txt) e faça uma cópia desse arquivo para um diretório temporário como um backup.
Depois de garantir que você tenha uma cópia, você poderá remover o arquivo da pasta
Execute as etapas para entender por que e como esses arquivos foram adicionados nesta pasta do sistema e tomar medidas para evitar novas ocorrências
- Verifique se as permissões adequadas estão em vigor para o acesso do usuário a esta(s) pasta(s) FILESTREAM
- Entender e garantir que nenhum aplicativo esteja criando arquivos nas pastas FILESTREAM
Execute um novo DBCC CHECKDB e verifique se ele não gera erros
Se houver outros erros checkdb, incluindo 7903.7904.7905.7907, houve corrupção ou adulteração de SQL Server pasta FILESTREAM além da mera adição inválida de arquivos estrangeiros. Essa situação não pode ser reparada manualmente
- Verifique se há problemas no hardware e resolva-os
- Verifique se o sistema está protegido contra malware. Observe que os arquivos de dados FILESTREAM devem ser excluídos da verificação de software antivírus. Confira Recomendações e diretrizes para melhorar o desempenho de FILESTREAM
- Em seguida, restaure do backup de banco de dados íntegro
Executar DBCC CHECKDB
Se você executar o DBCC CHECKDB, ele poderá relatar o erro 7908 ou 7906, mas não poderá repará-lo.
Restaurar a partir de backup
Se o problema não estiver relacionado ao hardware e um backup limpo conhecido estiver disponível, restaure o banco de dados do backup
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de