我们的网站有一个 SQL Server 2008 R2 Express Edition 数据库,为我们的网站搜索提供全文索引。每次在其中一个索引表中添加或更新新记录时,索引过程似乎永远不会完成。
在过去的几周里,我一直使用在这个站点上找到的基本相同的查询来监视状态:http : //www.sqlmonster.com/Uwe/Forum.aspx/sql-server-search/2155/Why-is-this -人口花了这么长时间
索引表中的最新记录永远不会完成并且不可搜索。即使表中的数据不多,我也等了几天看索引是否完成,但没有任何变化。
我能够成功完成索引的唯一方法是重建目录或删除并重新创建所有索引。
每次我这样做时,一旦添加了第一个新记录,同样的问题就会再次出现。
以下是服务器统计信息,以防万一:
sql-server full-text-search sql-server-2008-r2 sql-server-express
我知道这是非常危险的:
EXEC sp_executesql 'SELECT * FROM ' + @Table
Run Code Online (Sandbox Code Playgroud)
但是,这对 SQL 注入安全吗?
IF EXISTS(SELECT * FROM information_schema.tables WHERE TABLE_NAME = @Table) BEGIN
EXEC sp_executesql 'SELECT * FROM ' + @Table
END
Run Code Online (Sandbox Code Playgroud) sql-server ×2