Eventos
31 mar, 23 - 2 abr, 23
Evento de aprendizaje de SQL, Fabric y Power BI más grande. 31 de marzo – 2 de abril. Use el código FABINSIDER para ahorrar $400.
Regístrate hoyEste explorador ya no se admite.
Actualice a Microsoft Edge para aprovechar las características y actualizaciones de seguridad más recientes, y disponer de soporte técnico.
Se aplica a: SQL Server
Attribute | Valor |
---|---|
Nombre del producto | SQL Server |
Id. de evento | 3056 |
Origen de eventos | MSSQLSERVER |
Componente | SQLEngine |
Nombre simbólico | DMPDB_INVALID_FSDATA |
Texto del mensaje | La operación de copia de seguridad ha detectado un archivo inesperado en un contenedor de FILESTREAM. La operación de copia de seguridad continuará e incluirá el archivo '%ls'. |
Se produce el error 3056 si existen archivos en el contenedor FILESTREAM (carpeta) que SQL Server no crea. La operación de copia de seguridad incluirá ese archivo, pero esto provocará un estado incoherente de los componentes de secuencia de archivos de la base de datos.
Advertencia
El contenedor FILESTREAM es una carpeta administrada por SQL Server. No agregar ni quitar archivos en la carpeta FILESTREAM
El mensaje de error incluye el nombre del archivo inesperado. Investigue cómo este archivo terminó en esta carpeta.
Finalice las copias de seguridad y asegúrese de que las copias de seguridad anteriores de esta base de datos no se sobrescriben ni pierden.
Ejecute un DBCC CHECKB completo en la base de datos para la que se produjo un error en la copia de seguridad con el error 3056. No use con physical_only
Revise la salida DE DBCC CHECKB exhaustivamente; es posible que se detecten errores durante distintas fases y que estén separados por cientos de líneas para los mismos objetos
CHECKDB found 1 allocation errors and 1 consistency errors in database 'AG_Filestream'.
Si los únicos errores notificados son 7908 o 7906, puede localizar los archivos reales notificados en el error. Los errores pueden tener este aspecto, por ejemplo:
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 aaaabbbb-0000-cccc-1111-dddd2222eeee is not a valid FILESTREAM file in container ID 65537.
Nota
Se recomienda probar estos pasos en una copia de seguridad o prueba de la base de datos antes de intentarlos en el sistema de producción.
Para buscar los archivos, ejecute este comando para buscar la carpeta física del grupo FILESTREAM.
SELECT name, physical_name, state_desc, type_desc
FROM sys.database_files
WHERE type_desc = 'FILESTREAM'
En el Explorador de Windows, abra la subcarpeta identificada en el error 7906 o 7908 (por ejemplo\782fc3bb-dc63-4ab8-9de6-e9dfa36454d2)
A continuación, busque el archivo identificado en el mensaje de error (por ejemplo, NO_USER_FILE_SHOULD_BE_HERE.txt) y realice una copia de este archivo en un directorio temporal como copia de seguridad.
Una vez que asegúrese de que tiene una copia, puede quitar el archivo de la carpeta.
Siga los pasos necesarios para comprender por qué y cómo se han agregado estos archivos en esta carpeta del sistema y siga los pasos necesarios para evitar más repeticiones.
Ejecute un nuevo DBCC CHECKDB y asegúrese de que no genera ningún error.
Si hay otros errores CHECKDB, incluidos 7903.7904.7905.7907, se han producido daños o alteraciones en la carpeta FILESTREAM de SQL Server más allá de la mera adición no válida de archivos externos. Esta situación no se puede reparar manualmente
Si ejecuta DBCC CHECKDB, puede notificar el error 7908 o 7906, pero no puede repararlo.
Si el problema no está relacionado con el hardware y hay disponible una copia de seguridad limpia conocida, restaure la base de datos a partir de la copia de seguridad.
Eventos
31 mar, 23 - 2 abr, 23
Evento de aprendizaje de SQL, Fabric y Power BI más grande. 31 de marzo – 2 de abril. Use el código FABINSIDER para ahorrar $400.
Regístrate hoy