SSAS部署时提示用户登录失败:用户'NT Service\MSOLAP$BI'登录失败。;28000

0
错误截图.png

可能是我不太理解这些账户权限之间的关系,我根据网上提示的方法都试过了,还是有错,不管把AS登录账户设置为什么,都一样。
希望大神们给我解答一下。(希望能有详细步骤,我是真的不会啊)
公司电脑装2008R2的时候有改过账户权限一类的,做项目啥的都没有过这个bug。自己本本前几天重装系统了,装了2012企业版,都选择的默认,然后新建一个维度以后就这样了= =

AS账户截图.png


数据库连接账户.png

这是有关的账户信息,我也不知道有用没,我就想新建项目之后直接使用Windows身份验证不会再提示上面的错误,求大神指教。小菜鸟已经研究了两天了,还是没解决。

-----------------------------------这是分割线(解决方法)----------------------------------------------------
好吧,昨天刚发完这个问题我就解决了,解决方法如下:
1.进入SQL Server,连接数据库引擎
2.点击“安全”-->“登录”(右击)-->选择“新建登录”
3.在“General”中输入上面错误提示到的用户名
4.在“User Mapping”中找到AS项目所用到的数据库,勾中
5.给予“public”&“db_datareader”,然后重新部署项目就不会出现上面的错误信息了

---------------------------------这也是分割线(其它问题)-----------------------------------------------------
虽然这个问题解决了,但我还有别的问题:
1.为什么SSAS的默认账户需要设置数据库引擎那边的相关权限(如果我再导入一个数据库,是不是还得继续配置?)
2.SSAS的默认账户可以修改成系统当前用户么
3.出现这个问题的原因到底是什么(因为我发现公司电脑我并没有进行过如上操作,但项目部署的确没有问题)

也许我的问题很小白,但我是真的不理解这其中的关系,希望大神帮我解答迷津,感激不尽
已邀请:
2

天善_小龙 2016-04-28 回答

虽然这个问题解决了,但我还有别的问题:
1.为什么SSAS的默认账户需要设置数据库引擎那边的相关权限(如果我再导入一个数据库,是不是还得继续配置?)
解答: 安装完SSAS之后,会使用默认虚拟帐户。针对默认实例使用 NT Service\MSSQLServerOLAPService,或针对命名实例使用 NT Service\MSOLAP$instance-name。在启用SSAS服务,会需要默认开启一些权限,所以会默认给虚拟账号开通相对应的权限。

2.SSAS的默认账户可以修改成系统当前用户么
解答:可以改成系统当前用户,而且在生产环境建议用管理员domain账号去运行SQL Server Analysis Service. 我们知道,SSAS是基于Windows验证机制的,在你进行项目部署,dimension, measure process的时候,会需要调用SSAS服务进行相关操作。如果SSAS Services当前运行的账号没有权限访问源数据等,会出现process失败等问题。

3.出现这个问题的原因到底是什么(因为我发现公司电脑我并没有进行过如上操作,但项目部署的确没有问题)
建议先看一些文章吧,自己摸索下:
配置服务帐户 (Analysis Services): https://msdn.microsoft.com/zh-cn/library/ms175371.aspx

要回复问题请先登录注册