Požymiai
Importavus organizaciją naudojant diegimo tvarkytuvą, importuotoje organizacijoje FullTextCatalogIndex sistemos užduotis nustoja veikti ir lieka laukimo būsenos. Jei pritaikėte KB977867, problema nekils.
Priežastis
Importuojanti organizacija nepervardija viso teksto katalogo ir importuotoje organizacijos duomenų bazėje išsaugomas viso teksto katalogas, kuriame yra atsarginė organizacijos GUID. Sistemos užduotys bando vykdyti viso teksto katalogo naujinimą, kuriame yra esamas organizacijos ID ftcat_documentindex_<OrganizationIdGuidValue> , o tada pakeičiama į laukimo būseną.
Sprendimas
Norėdami išspręsti šią problemą, vykdykite šį SQL scenarijų savo organizacijos duomenų bazėje:
DECLARE @ID AS NVARCHAR(128),
@OLDNAME AS NVARCHAR(128),
@NEWNAME AS NVARCHAR(128),
@LINES AS INT
SELECT @OLDNAME = name FROM SYS.FULLTEXT_CATALOGS WHERE name LIKE 'ftcat_documentindex_%'
SELECT @ID = OrganizationId FROM Organization
SET @ID = REPLACE(@ID,'-','')
SET @ID = LOWER(@ID)
SET @NEWNAME = 'ftcat_documentindex_' + @ID
PRINT 'GUID IS : '+@ID
PRINT '---------------------'
PRINT 'OLDNAME IS : '+@OLDNAME
PRINT '---------------------'
PRINT 'NEWNAME IS : '+@NEWNAME
PRINT '---------------------'
IF @OLDNAME!=@NEWNAME
BEGIN
EXEC sp_fulltext_database 'enable'
-- Drop exsiting full text catalog
PRINT 'START DROPPING EXSITING FULL TEXT CATALOG ..'
PRINT '---------------------'
IF EXISTS (SELECT * FROM sys.fulltext_indexes fti WHERE fti.object_id = OBJECT_ID(N'[dbo].[DocumentIndex]'))
BEGIN
ALTER FULLTEXT INDEX ON [dbo].[DocumentIndex] DISABLE
END
IF EXISTS (SELECT * FROM sys.fulltext_indexes fti WHERE fti.object_id = OBJECT_ID(N'[dbo].[DocumentIndex]'))
BEGIN
DROP FULLTEXT INDEX ON [dbo].[DocumentIndex]
END
SELECT @LINES = COUNT(*) FROM sysfulltextcatalogs ftc WHERE ftc.name = @OLDNAME
IF @LINES > 0
BEGIN
EXEC sp_fulltext_catalog @OLDNAME,'drop'
END
PRINT 'DROPPING COMPLETE ..'
PRINT '---------------------'
-- Add new full text catalog
PRINT 'START ADDING EXSITING FULL TEXT CATALOG ..'
PRINT '---------------------'
EXEC sp_fulltext_catalog @NEWNAME,'create'
EXEC sp_fulltext_table 'documentindex', 'create', @NEWNAME, 'cndx_PrimaryKey_DocumentIndex'
EXEC sp_fulltext_column 'documentindex', 'Title', 'add'
EXEC sp_fulltext_column 'documentindex', 'KeyWords', 'add'
EXEC sp_fulltext_column 'documentindex', 'SearchText', 'add'
EXEC sp_fulltext_table 'documentindex', 'activate'
EXEC sp_fulltext_catalog @NEWNAME, 'start_full'
PRINT 'ADDING COMPLETE ..'
END
ELSE
PRINT 'THE FULL TEXT CATALOG HAS BEEN UPDATED ..'