我正在尝试将新集合添加到Team Foundation Server 2017的新实例(Update 2)。该过程在步骤27失败:
错误日志包含:
[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并确保用户没有对数据库或系统的拒绝权限。
我还能检查什么?
谢谢你的时间。
答案 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 Mapping
和Server Roles
。有关详细信息,请参阅Database-Level Roles。