Amj*_*shi 7 sql sql-server-2005 .net-3.5
所以我有一个运行在.net 3.5上的Web应用程序连接到SQL 2005框.
我们每两周进行一次预定发布.
250个中约有14个表是全文索引的.
不是每次发布,而是一些太多,索引废话.他们似乎有数据,但当我们尝试从前端或SQL企业搜索它们时,我们会得到超时/挂起.
我们有一个脚本可以禁用索引,删除它们,删除目录然后重新创建索引.这解决了问题99次中的100次.另一次,我们再次运行脚本,一切正常
我们尝试过重建全文索引,但这并没有解决问题.
我的问题是为什么我们必须这样做?我们可以做些什么来排序索引?
这是一些脚本,
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
Run Code Online (Sandbox Code Playgroud)