在SQL Server中查看表关系是否有特定的权限或用户设置?



我被授予访问SQL Server数据库的权限,可以连接和查询数据。但是,我想检查数据模型中是否有显式外键和其他关系,但是没有看到。我不确定这是因为没有任何定义,或者权限问题,或者与DataGrip相关的问题。

奇怪的是,在PowerBI中,我可以看到一些关系,但这可能是在我连接到数据库时自动生成的。

我如何知道我的帐户是否被授予查看表关系的权限?以下是我现在可以做的事情:

  • 查询数据
  • 提取DataGrip中任意表的DDL语句

不知道还可以尝试什么

您可以尝试以下查询:

/p>

SELECT OBJECT_NAME(f.parent_object_id) AS table_name  
, f.name AS foreign_key_name  
,COL_NAME(fkc.parent_object_id, fkc.parent_column_id) AS constraint_column_name  
,OBJECT_NAME (f.referenced_object_id) AS referenced_object  
,COL_NAME(fkc.referenced_object_id, fkc.referenced_column_id) AS referenced_column_name  
, [column_type] = t.name
--,f.is_disabled, f.is_not_trusted
--,f.delete_referential_action_desc  
--,f.update_referential_action_desc  
FROM sys.foreign_keys AS f
INNER JOIN sys.foreign_key_columns AS fkc   
ON f.object_id = fkc.constraint_object_id
LEFT JOIN sys.all_columns ac on fkc.referenced_object_id = ac.object_id 
and fkc.referenced_column_id = ac.column_id
INNER JOIN sys.types t on ac.system_type_id = t.system_type_id
--WHERE f.parent_object_id = OBJECT_ID('dbo.PropertySegment')
ORDER BY table_name; 

如果您使用相同的帐户,并且可以在Power BI中看到表关系,但在DataGrip的Database Explorer中看不到,则不太可能是与权限相关的问题。首先,尝试刷新这些关系对象所在的模式。当你展开树时,如果这些物体没有出现在桌子下面,请打开一张票。

相关内容

  • 没有找到相关文章

最新更新