关于在SSAS中添加角色时 需要注意将SSAS.database文件签出、签入。
当向SSAS工程文件中添加角色时,需要注意,改变的有两个文件SSAS.dwproj、SSAS.database,所以当添加或者删除角色的时候,需要同时将以上两个文件签出,并且在完成添加或者删除动作后,需要将以上两个文件签入。
在添加角色时候,SSAS.database文件会添加以下节点
<Role dwd:design-time-name="9454ad3f-9a69-486d-802e-66b86333f276">
<ID>Role 7</ID>
<Name>物流</Name>
<CreatedTimestamp>0001-01-01T00:00:00Z</CreatedTimestamp>
<LastSchemaUpdate>0001-01-01T00:00:00Z</LastSchemaUpdate>
<Description></Description>
<Members>
<Member>
<Name>物流组</Name>
</Member>
</Members>
</Role>
以及:
<DatabasePermission dwd:design-time-name="efc2e653-3c30-4b44-936a-e99ed214e41b">
<ID>DatabasePermission 7</ID>
<Name>DatabasePermission 7</Name>
<CreatedTimestamp>0001-01-01T00:00:00Z</CreatedTimestamp>
<LastSchemaUpdate>0001-01-01T00:00:00Z</LastSchemaUpdate>
<RoleID>Role 7</RoleID>
<Read>Allowed</Read>
</DatabasePermission>
而在SSAS.dwproj工程文件中 会添加以下节点:
<Roles>
<ProjectItem>
<Name>型录.role</Name>
<FullPath>型录.role</FullPath>
</ProjectItem>
<Roles>
当然在SSAS中建立了角色Role之后,开发人员都会向角色添加用户或者用户组,那么在部署此SSAS工程的之前,我们需要在部署服务器上先添加用户或者用户组,这样才不会出现“出现以下系统错误: 帐户名与安全标识间无任何映射完成”
经过上面步骤之后,我们会确定这个角色拥有那么些cube、dimension、measure的权限,这个时候如果给某一个角色添加了一个cube、dimension、measure的权限,那么在这个cube的xml当中会添加如下节点:
<CubePermissions>
<CubePermission dwd:design-time-name="fd77358a-e840-4f8a-9543-985103dac124">
<ID>CubePermission</ID>
<Name>CubePermission</Name>
<CreatedTimestamp>0001-01-01T00:00:00Z</CreatedTimestamp>
<LastSchemaUpdate>0001-01-01T00:00:00Z</LastSchemaUpdate>
<RoleID>Role 1</RoleID>
<Read>Allowed</Read>
<ReadSourceData>None</ReadSourceData>
<DimensionPermissions>
<DimensionPermission dwd:design-time-name="f7f51477-6ab6-4196-b84e-43928dc851a1">
<CubeDimensionID>Measures</CubeDimensionID>
<Read>Allowed</Read>
<AttributePermissions>
<AttributePermission dwd:design-time-name="199bbf94-1259-42bb-ad45-7d36d97fd514">
<AttributeID>Measures</AttributeID>
<DeniedSet>{[Measures].[saleprice]}</DeniedSet>
</AttributePermission>
</AttributePermissions>
</DimensionPermission>
</DimensionPermissions>
</CubePermission>