7
所以我有一个Web应用程序运行在.net 3.5连接到SQL 2005框。全文索引需要删除和重新创建 - 为什么?
我们每两周进行计划发布。
约14台出250全文索引。
不是每一个版本,但也有少数太多之后,索引废话了。 他们似乎有数据,但当我们试图从前端或SQL企业搜索他们时,我们得到超时/挂起。
我们有禁用索引,丢弃这些脚本, 删除目录,然后重新创建索引。这解决了100次问题99次。 和另外一次,我们再次运行脚本,它都可以正常工作
我们尝试过重建全文索引,但是这并没有解决问题。
我的问题是,为什么我们要这么做?我们可以做些什么来对索引进行排序?
这里有点脚本,
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
是14个表被丢弃并重新加载? – 2010-05-21 02:56:37
不,他们有时会更改一些数据,但不会超过此数据。 存储过程,触发器和函数被删除并重新创建。 与SQL脚本多为释放部分 – 2010-05-21 03:00:20
它好像你可能有某种问题 – Scozzard 2010-05-24 21:29:03