授予对数据源的访问权限

通常,Microsoft SQL Server Analysis Services 的多数用户无需访问作为 Analysis Services 项目基础的数据源。用户通常只查询 Analysis Services 中的数据。

但是,在数据挖掘上下文中(如根据挖掘模型执行预测),用户必须将挖掘模型的已学习数据与用户提供的数据联接起来。为了连接到包含用户提供数据的数据源,用户将使用包含 OPENQUERY (DMX)OPENROWSET (DMX) 子句的数据挖掘扩展插件 (DMX) 查询。

重要说明重要提示

出于安全方面的考虑,系统禁止在 OPENROWSET 子句中使用公开连接字符串来提交 DMX 查询。有关详细信息,请参阅保护 Analysis Services 使用的数据源

若要执行连接到数据源的 DMX 查询,用户必须能访问 Analysis Services 数据库中的数据源对象。默认情况下,只有 Analysis Services 服务器角色的成员或管理员角色的成员才能访问数据源对象。这意味着,除非 Analysis Services 服务器角色的成员或管理员角色的成员授予用户所属的数据库角色对数据源的权限,否则用户将不能访问数据源对象。

设置对数据源的读取权限

可以使数据库角色无权访问数据源对象,也可以授予其读取权限。

重要说明重要提示

应限制对数据源对象的权限。应该限制用户在基础数据源中的实际权限。

若要授予用户对数据库角色的读取权限,用户必须是 Analysis Services 服务器角色的成员,或者是具有完全控制(管理员)权限的 Analysis Services 数据库角色的成员。

授予数据库角色对数据源的读取权限

  1. 在 SQL Server Management Studio 中,连接到 Analysis Services 实例,在对象资源管理器中展开相应数据库的**“角色”**,然后单击某个数据库角色(或创建一个新的数据库角色)。

  2. 在**“选择页”面板中单击“数据源访问”,在“数据源”列表中找到数据源对象,然后在该数据源的“访问”列表中选择“读”**。

使用数据源对象使用的连接字符串

数据源对象包括用于连接到基础数据源的连接字符串。此连接字符串可以指定以下内容之一:

  • 指定用户名和密码

    如果数据源对象使用的连接字符串指定了用户名和密码,则可以创建多个数据源对象,每个对象都有不同的用户帐户。通过创建多个数据源对象,可允许用户访问某些数据源对象,并可阻止用户访问其他数据源对象。其他这些数据源对象可由 Analysis Services 自身使用,用于处理对象(如多维数据集和挖掘模型)。

  • 指定 Windows 身份验证

    如果数据源对象使用的连接字符串指定了 Windows 身份验证,则 Analysis Services 必须能够模拟客户端。如果数据源在同一台计算机上,则 Analysis Services 将能够模拟客户端。如果数据源在远程计算机上,两台计算机必须使用 Microsoft Kerberos 身份验证建立模拟信任,否则查询一般会失败。如果客户端不允许模拟(通过 OLE DB 和其他客户端组件中的“Impersonation Level”属性),则 Analysis Services 将尝试匿名连接到基础数据源(大多数数据源不接受匿名连接)。