Team Foundation Server 2017 - 对象'fulltext_languages',数据库'mssqlsystemresource',架构'sys'

时间:2017-11-04 21:42:38

标签: sql sql-server tfs sql-server-2014 tfs2017

我正在尝试将新集合添加到Team Foundation Server 2017的新实例(Update 2)。该过程在步骤27失败:

Step 26 Failure

错误日志包含:

[2017-11-04 21:28:30Z][Error] 1 error(s) occurred while executing WorkItemTrackingCreateFullTextIndex.sql script.
Failed batch starts on line: 1.

Error: 229, Level: 14, State: 5, Batch Line: 15, Script Line: 15
Message: The SELECT permission was denied on the object 'fulltext_languages', database 'mssqlsystemresource', schema 'sys'.
================ Failed batch begin ==========================
/*****************************************************************************
* Standalone Non Transactional action to create Full Text Search Index.
* Applicable as a PostCreate action, but requires execution without a transactional lock.
*****************************************************************************/
SET NOCOUNT ON

-- Create full text index if FTS is available.
exec dbo.InstallWorkItemWordsContains
================ Failed batch end ============================

相关服务器安装了全文搜索,并且运行Team Foundation Server服务的用户在相关服务器和数据库上具有sys_admin权限。

我也遵循了这个StackOverflow article并确保用户没有对数据库或系统的拒绝权限。

我还能检查什么?

谢谢你的时间。

1 个答案:

答案 0 :(得分:0)

根据错误消息,它应该是许可问题。

请在查询下方运行以检查对象'fulltext_languages'是否有授予选择的记录:

SELECT  SDP.state_desc ,
        SDP.permission_name ,
        SSU.[name] AS "Schema" ,
        SSO.[name] ,
        SSO.[type]
FROM    sys.sysobjects SSO
        INNER JOIN sys.database_permissions SDP ON SSO.id = SDP.major_id
        INNER JOIN sys.sysusers SSU ON SSO.uid = SSU.uid
ORDER BY SSU.[name] ,
        SSO.[name]

如果没有记录,只需尝试运行以下查询即可授予:

USE user_DB
GO
GRANT SELECT ON [sys].[fulltext_languages] TO PUBLIC
GO

同时检查服务用户的User MappingServer Roles。有关详细信息,请参阅Database-Level Roles