1

我正在尝试确定一个单词在一个表中出现多少次以进行 uni 分配。我一直在 SQL Server 2012 中使用 sys.dm_fts_index_keywords_by_document,就像我之前在 2008 年使用过的一样。之前它工作得很好,但在这种情况下,SQL Server 似乎不太喜欢它。

SELECT display_term, SUM(occurrence_count) AS APP
FROM sys.dm_fts_index_keywords_by_document
( 
    DB_ID('Assign2A_341'),     OBJECT_ID('Post') 
)
GROUP BY display_term 
ORDER BY APP DESC

我一直遇到这个错误:Msg 30004, Level 16, State 1, Line 1 A fulltext system view or stvf cannot open user table object id 599673184.

这是正在使用的表格的格式:

CREATE TABLE Post(
Post_ID     FLOAT           NOT NULL,
Post_Txt    NVARCHAR(MAX)   NOT NULL,   
Post_Date   NVARCHAR(255)   NOT NULL,
Post_Author VARCHAR(50)     NOT NULL,
PRIMARY KEY(Post_ID));

我看不出这不起作用的任何原因,我以前使用它的上下文与我现在使用它的方式非常相似,唯一的区别是我使用的 SQL Server 版本和内容的表。

任何帮助将不胜感激!

4

1 回答 1

0

你是在create Table语句之后在Table Post上创建全文索引的吗?

此外,正如BoL所述,您需要足够的权限才能从该索引中读取,这些权限是否存在?

需要对全文索引所涵盖的列具有 CREATE FULLTEXT CATALOG 权限和 SELECT 权限。

于 2013-11-20T13:03:00.100 回答