是否可以在SQL Server 2014的对象资源管理器中隐藏(并显示)某些表?实际上有重复的日志表以实际表为前缀。我想暂时隐藏它们。此外,如果需要,我想向他们展示。
答案 0 :(得分:1)
您可以使用扩展属性
EXEC sp_addextendedproperty
@name = N'microsoft_database_tools_support',
@value = 'Hide',
@level0type = N'Schema', @level0name = 'Person',
@level1type = N'Table', @level1name = 'Address';
GO
上面的代码隐藏了person.address表
如果你想恢复,下面是代码
EXEC sp_dropextendedproperty
@name = N'microsoft_database_tools_support',
@level0type = N'Schema', @level0name = 'Person',
@level1type = N'Table', @level1name = 'Address';
GO
<强>参考文献:强> Hiding tables in SSMS Object Explorer
您还可以使用下面的内容拒绝查看对象资源管理器中的任何用户特定架构或表,但是当用户具有更高的角色(如db_owner)时,这不起作用。
DENY VIEW DEFINITION ON Schema.Table TO UserName;
答案 1 :(得分:1)
尝试这个
如果你想hide table
使用这个
EXEC sp_addextendedproperty
@name = N'microsoft_database_tools_support',
@value = 'Hide',
@level0type = N'Schema', @level0name = 'Person',
@level1type = N'Table', @level1name = 'Address';
GO
和show table
使用此
EXEC sp_dropextendedproperty
@name = N'microsoft_database_tools_support',
@level0type = N'Schema', @level0name = 'Person',
@level1type = N'Table', @level1name = 'Address';
GO
答案 2 :(得分:0)
您可以添加一个隐藏表格的扩展属性:
EXEC sp_addextendedproperty
@name = N'microsoft_database_tools_support',
@value = 'Hide',
@level0type = N'Schema', @level0name = '**YOUR SCHEMA**',
@level1type = N'Table', @level1name = '**YOUR TABLE NAME**';
GO