Tengo una aplicación web ejecutándose en .net 3.5 conectada a un cuadro SQL 2005.El índice de texto completo requiere dejar caer y volver a crear, ¿por qué?
Hacemos lanzamientos programados cada 2 semanas.
Aproximadamente 14 tablas de 250 están indexadas en texto completo.
Después de que no todos los lanzamientos, pero algunos demasiados, los índices se caen. Parece que tienen datos allí, pero cuando intentamos buscarlos desde la interfaz o la empresa SQL obtenemos tiempos de espera/bloqueos.
Tenemos un script que deshabilita los índices, los descarta, borra el catálogo y luego vuelve a crear los índices. Esto soluciona el problema 99 veces de cada 100. y el otro momento, ejecutamos el script nuevamente y todo funciona
Hemos intentado solo reconstruir el índice de texto completo pero eso no soluciona el problema.
Mi pregunta es ¿por qué tenemos que hacer esto? ¿Qué podemos hacer para ordenar el índice?
Aquí es un poco de la secuencia de comandos,
IF EXISTS (SELECT * FROM sys.fulltext_indexes fti WHERE fti.object_id = OBJECT_ID(N'[dbo].[Address]'))
ALTER FULLTEXT INDEX ON [dbo].[Address] DISABLE
GO
IF EXISTS (SELECT * FROM sys.fulltext_indexes fti WHERE fti.object_id = OBJECT_ID(N'[dbo].[Address]'))
DROP FULLTEXT INDEX ON [dbo].[Address]
GO
IF EXISTS (SELECT * FROM sysfulltextcatalogs ftc WHERE ftc.name = N'DbName.FullTextCatalog')
DROP FULLTEXT CATALOG [DbName.FullTextCatalog]
GO
-- may need this line if we get an error
BACKUP LOG SMS2 WITH TRUNCATE_ONLY
CREATE FULLTEXT CATALOG [DbName.FullTextCatalog] ON FILEGROUP [FullTextCatalogs]
IN PATH N'F:\Data'
AS DEFAULT
AUTHORIZATION [dbo]
CREATE FULLTEXT INDEX ON [Address](CommonPlace LANGUAGE 'ENGLISH')
KEY INDEX PK_Address
ON [DbName.FullTextCatalog]
WITH
CHANGE_TRACKING AUTO
go
¿Se están cayendo y volviendo a cargar las 14 tablas? –
No, a veces tienen algunos datos modificados, pero no más que eso. Procps, activadores y funciones almacenados se eliminan y se vuelven a crear. con SQL multi script como parte del lanzamiento –
Parece que puede haber algún tipo de problema – Scozzard