24

我在 Windows 7 上的 Microsoft SQL Server 2012 中使用分析服务。

我尝试创建挖掘模型并对其进行处理。我在处理它时收到以下错误。

OLE DB 错误:OLE DB 或 ODBC 错误:
用户“NT Service\MSSQLServerOLAPService”登录失败。;28000。

如何纠正此问题并成功处理模型?

4

7 回答 7

32

我最近遇到了类似的错误。

我的错误是通过在 ssms 中创建一个新的登录名来修复的,该登录名是错误给我的。

在您的情况下,它将是 'NT Service\MSSQLServerOLAPService'

然后,您需要在“用户映射”页面上的新登录属性中检查“db_datareader”和“db_datawriter”。检查您在顶部使用的数据库,然后检查底部的“db_datareader”和“db_datawriter”,其中显示“数据库角色成员资格:Database_Name”。

希望这可以帮助。


您还可以尝试:转到“服务器管理器”、“配置”、“服务”搜索您使用的“SQL Server Analysis Services (Instance_Name)”。转到其属性,然后转到“登录”选项卡。如果它使用“此帐户”选项,请确保使用“模拟信息”中多维数据集的数据源中指定的帐户作为用户名和密码。

编辑

这样做的原因通常是因为运行该服务的帐户没有正确的权限来执行所请求的操作。

到目前为止,我知道有两种方法可以做到这一点:

  1. 将运行该服务的帐户更改为具有正确权限的帐户。
  2. 为运行服务的帐户授予正确的权限。
于 2013-03-06T07:16:34.953 回答
20

1-运行“SQL Server 配置管理器”

2-选择“SQL Server 服务”

3-右键单击“SQL Server Analysis Services”并选择属性

4-在“登录”选项卡上,选择“此帐户”。

5-单击“浏览”按钮,然后单击“高级”按钮。

6-单击“立即查找”按钮。现在在下表中找到您的帐户并选择它。

7-当您选择正确的帐户(具有足够的权限)时,返回“登录”选项卡

并输入您的密码

8-重新启动服务并重试您的任务...

我希望这可以帮助...

于 2014-05-27T04:59:38.193 回答
4

我使用 Amir 的相反逻辑找到了我的解决方案。

  • 运行“SQL Server 配置管理器”
  • 选择“SQL Server 服务”
  • 右键单击“SQL Server Analysis Services”并选择属性。
  • 在“登录”选项卡上,选择“内置帐户”。
  • 最后选择“本地系统”。

虽然我只是在本地运行东西以进行修改,然后将其推送到生产中。因此,如果您在本地运行,此解决方案可能会有所帮助。

于 2016-11-22T15:26:59.707 回答
2

请尝试以下步骤:

信用(JetBoy2k):https ://social.msdn.microsoft.com/Forums/sqlserver/en-US/0a1ce033-29fb-49a9-944a-ee2ea55e69a8/errors-in-the-highlevel-relational-engine-a-connection -could-not-be-made-to-the-data-source-with?forum=sqlanalysisservices

  1. 通过在 Visual Studio 中打开数据源配置窗口并在模拟信息窗口中选择使用服务帐户,将模拟模式设置为服务帐户。

  2. 进入服务 MMC 控制台(右键单击 Windows 主页按钮,选择运行,然后在运行对话框窗口中,输入 services.msc 并单击确定)。

  3. 向下滚动右窗格中的服务列表,直到找到 SQL Server Analysis Services 服务,然后查看“登录身份”列以找到运行该服务的帐户名称。复制完全限定的帐户名称 (NT Service\SSASAccountName) 并关闭服务 MMC 窗口。

  4. 在 SSMS 中,单击您需要访问的数据库。

  5. 使用以下 SQL 命令为 SSAS 服务帐户创建登录名:

从 WINDOWS 创建登录 [NT Service\MSOLAP$SSASSERVICEACCOUNTNAME]

  1. 单击该数据库的安全文件夹。

  2. 在安全文件夹下,右键单击用户文件夹,然后在弹出菜单上单击新用户。

  3. 在 Database User - New 窗口中,从 User Type 下拉列表中选择 Windows User。

  4. 在“用户名”字段中,输入 AS 帐户名称。

  5. 单击登录名字段的省略号按钮。

  6. 在“选择登录”窗口中,输入帐户名称并单击“确定”。

  7. 返回 Database User - New 窗口,输入 dbo 作为 Default schema 值,然后单击 OK。

  8. 您现在应该在用户文件夹中看到 AS 服务帐户。

  9. 双击用户文件夹下方的角色文件夹,然后双击数据库角色文件夹。

  10. 双击 DB-owner 角色。这将打开数据库角色属性 - db_owner 窗口。

  11. 在 Database role properties - db_owner 窗口中,单击 Members of this role 窗格下方的 Add 按钮。

  12. 在选择数据库用户或角色窗口中,单击浏览按钮

  13. AS 服务帐户将在 Browse for Objects 窗口中列出。选中该帐户的复选框,然后单击“确定”。

  14. 返回“选择数据库用户或角色”窗口,单击“确定”。

  15. 您现在应该在数据库角色属性 - db_owner 窗口的此角色的成员窗格中看到作为角色成员列出的 AS 服务帐户。

  16. 单击确定。

于 2019-08-02T15:11:59.363 回答
2

我不得不对上面给出的 Gayan Dasanayake 的回答采取额外的步骤,因为当我完成所有步骤时仍然遇到权限错误。

就我而言,我还必须将用户“NT SERVICE\MSSQLServerOLAPService”添加到实际数据库中,并通过“Securables”部分授予对所有维度和事实表的“选择”权限,方法是右键单击中的用户属性短信服务。

于 2016-07-16T14:36:33.377 回答
0
  1. 运行“Sql Server 配置管理器”并检查 SQL Server Analysis Services 的“登录身份”帐户名称(...名称...)。
  2. 复制此账户名(双击打开再复制)
  3. 打开“SQL Server Management Studio”并登录到“数据库引擎”。
  4. 转到安全>登录单击“新登录...”并提供复制的名称。
  5. 重启服务器

现在应该可以部署了。

于 2015-11-25T16:39:19.640 回答
-1

我只是有同样的问题,但其他人的答案没有帮助。

就我而言,我这样修复:

  1. 打开 SQL Server 配置管理器
  2. 在 SQL Services > 双击 SQL Server 并复制完整用户(在我的情况下为 NT Service\MSSQLSERVER)
  3. 双击 SQL Server 分析服务
  4. 粘贴没有密码的用户

您可能需要在 Visual Studio 项目中的数据源中设置“使用服务帐户”

于 2017-12-09T17:37:31.853 回答