主数据服务(MDS)中的管理员权限丢失

时间:2014-07-16 08:55:04

标签: sql-server master-data-services

我在探索&试验SQL Server 2012的主数据服务。我发现只读属性可用于属性(列)。我已经将列标记为只读&有效;但是,我丢失了所有管理员权限。我仍然可以探索模型,但没有别的。

如果在权限和系统管理视图下未列出模型,如何在MDS上获取管理员权限。我仍然拥有数据库本身的管理员权限。

1 个答案:

答案 0 :(得分:1)

当您将模型的Code属性的权限设置为read_only时,有时模型会从权限和系统视图中“消失”。

如果您仍然可以访问底层数据库,则可以直接在数据库级别更新成员权限。

您应该更新相关成员的表tblSecurityRoleAccessMember和/或tblSecurityRoleAccess中的privlege ID。

如果您需要立即生效更改,则必须执行以下SP

USE [database];
GO
DECLARE @Model_ID INT;
SELECT @Model_ID = ID FROM mdm.tblModel WHERE [Name] = N'Model_Name';
EXEC [mdm].[udpSecurityMemberProcessRebuildModel]
@Model_ID=@Model_ID, @ProcessNow=1;
GO

以下文章介绍了有关安全表设置的详细信息。

http://www.rad.pasfu.com/index.php?/archives/145-Deep-Dive-into-Security-Schema-of-Master-Data-Services-Database.html