atualizado 3x
Estou usando o FILESTREAM, mas estou tendo problemas com a coleta de lixo. Os arquivos FILESTREAM não estão sendo limpos quando defino a coluna como nula.
No log de eventos, há um número enorme desse erro:
Internal FILESTREAM error: failed to access the garbage collection table.
É o erro número 5571 nesta página: http://msdn.microsoft.com/en-us/library/cc645602.aspx
Usando esta postagem do blog, confirmei que existe uma tabela 'tombstone', mas não posso consultá-la (
Invalid object name 'sys.filestream_tombstone_xxxxxxx'.
)Não estou excluindo linhas, estou definindo a coluna FILESTREAM como nula, conforme este artigo msdn : "Quando um campo FILESTREAM é definido como NULL, os dados BLOB associados ao campo são excluídos."
O banco de dados está em uma unidade local.
O banco de dados está usando Recuperação Simples.
Executei vários
CHECKPOINT
s quando a atividade estava muito baixa. Isso parece não ter feito nada. A mensagem de erro parece indicar que o coletor de lixo FILESTREAM está tentando coletar lixo, mas não pode acessar a tabela para descobrir o que fazer.SQL Server 2008 (10.0.2531.0, SP1, Enterprise Edition
Não há outros erros anteriores aos erros 5571 que posso ver no log do SQL Server ou no log de eventos.
DBCC CHECKDB
Foi detectado um erro. O que eu faço sobre isso?
DBCC results for 'sys.filestream_tombstone_1819153526'.
Msg 8951, Level 16, State 1, Line 1
Table error: table 'sys.filestream_tombstone_1819153526' (ID 1819153526). Data row does not have a matching index row in the index 'FSTSNCIdx' (ID 2). Possible missing or invalid keys for the index row matching:
Msg 8955, Level 16, State 1, Line 1
Data row (4:4712151:3) identified by (oplsn_fseqno = 62856 and oplsn_bOffset = 82647 and oplsn_slotid = 2) with index values 'file_id = 65537 and rowset_guid = '3F972309-9B0B-4C4F-939A-5618897050B4' and column_guid = '4A143C0D-B877-494E-B1E6-B70B0A834BB6' and oplsn_fseqno = 62856 and oplsn_bOffset = 82647 and oplsn_slotid = 2'.
There are 209624 rows in 3382 pages for object "sys.filestream_tombstone_1819153526".
Perguntas:
Como as permissões devem ser configuradas para o FILESTREAM funcionar? Outras pessoas têm acesso a este servidor e este banco de dados pode ter sido restaurado de um backup em algum momento.
Como verifico as permissões da conta de compartilhamento/contêiner do FILESTREAM (Windows) e a conta sob a qual o SQL Server é executado?
Obrigado a @vgv8 por solicitar mais informações e ideias.