Импорт Организации не переименовывает ftcat_documentindex_ полнотекстового каталога с новым OrganizationId в Microsoft Dynamics CRM 4,0

Применимо к: Dynamics CRM 4.0

Проблемы


После импорта Организации с помощью диспетчера развертывания системное задание FullTextCatalogIndex в импортированной Организации перестает работать и остается в состоянии ожидания. Если вы применили KB977867, у вас не будет проблем.

Причина


Импорт в организацию не переименовывает каталог полнотекстового каталога, а импортированная база данных Организации хранила полнотекстовый каталог, содержащий идентификатор GUID Организации, для которого была выполнена резервная копия. Системные задания попытаются выполнить обновление полнотекстового каталога, которое включает текущий идентификатор организации ftcat_documentindex_<OrganizationIdGuidValue>, а затем изменится на статус "ожидание".

Решение


Чтобы устранить эту проблему, выполните в базе данных Организации следующий сценарий SQL:
DECLARE @ID AS NVARCHAR(128),   @OLDNAME AS NVARCHAR(128),   @NEWNAME AS NVARCHAR(128),  @LINES AS INTSELECT @OLDNAME = name FROM  SYS.FULLTEXT_CATALOGS WHERE name LIKE 'ftcat_documentindex_%'SELECT @ID = OrganizationId FROM OrganizationSET @ID = REPLACE(@ID,'-','')SET @ID = LOWER(@ID)SET @NEWNAME = 'ftcat_documentindex_' + @IDPRINT 'GUID IS : '+@IDPRINT '---------------------'PRINT 'OLDNAME IS : '+@OLDNAMEPRINT '---------------------'PRINT 'NEWNAME IS : '+@NEWNAMEPRINT '---------------------'IF @OLDNAME!=@NEWNAMEBEGIN 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 ..'ENDELSEPRINT 'THE FULL TEXT CATALOG HAS BEEN UPDATED ..'