该问题似乎与SQL Server的一个功能有关,其中FTS索引在一段时间不活动后被卸载。让他们保持新鲜的后台工作解决了这个问题。
我同意@SQLMenace,当某些东西在SSMS中快速运行而不是从应用程序运行时,它通常是连接差异。
但是,为什么要使用这样的函数呢?
如果必须使用函数,为什么不使用这样的表值函数:
CREATE FUNCTION dbo.SearchArchiveFTS ( @query nvarchar(255) ) RETURNS TABLE AS RETURN ( select ID, snapshotDate, -- about 10 more from dbo.Archive a where contains(a.*, @query) );