我收到了一些"未解析的对象"我在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)
答案 0 :(得分:1)
有一个答案
1.向项目添加数据库引用
2.选择系统数据库
https://dba.stackexchange.com/questions/40592/referencing-system-views-in-ssdt
3.在视图中使用master master.sys.database_principals