SSDT未解析的对象引用

时间:2018-04-16 19:57:11

标签: sql-server sql-server-data-tools dacpac

我收到了一些"未解析的对象"我在VS 2017中创建的SQL Server数据库项目的错误。

这些错误都指向" sys。"对象。

我已经从master数据库添加了一个.dacpac引用,包括为master数据库生成一个新的.dacpac。

我也尝试过添加对master数据库本身的引用,没有运气。我也重新启动了我的机器,但这也没有帮助。

我已经尝试过Stack Overflow中列出的补救措施,但这些解决方案都没有对我有用。有什么建议?以下是我从构建中获得的错误示例:

SSISDB\internal\Views\current_user_object_permissions.sql(15,55): 
Error SQL71501: View: [internal].[current_user_object_permissions] contains an unresolved reference to an 
Either the object does not exist or the reference is ambiguous because 
it could refer to any of the following objects: [internal].[object_permissions].[pri]::
[name], [sys].[database_principals].[name] or [sys].[database_principals].[pri]::[name].

更新

SQL:

CREATE VIEW [internal].[current_user_object_permissions] AS 
SELECT obj.[object_type], obj.[object_id], obj.[permission_type], obj.[sid], obj.[is_role], obj.[is_deny] 
FROM [internal].[object_permissions] AS obj 
INNER JOIN [sys].[database_principals] AS pri ON obj.[sid] = pri.[sid] 
WHERE ((pri.[type] = 'S' OR pri.[type] = 'U') AND obj.[sid] = USER_SID (DATABASE_PRINCIPAL_ID())) OR ((pri.[type] = 'G' OR pri.[type] = 'R') AND IS_MEMBER(pri.name)=1)

1 个答案:

答案 0 :(得分:1)

有一个答案
1.向项目添加数据库引用 2.选择系统数据库
https://dba.stackexchange.com/questions/40592/referencing-system-views-in-ssdt
3.在视图中使用master master.sys.database_principals