SSIS 执行 Analysis Services 任务错误:指定的登录会话不存在。它可能已经被终止
Posted
技术标签:
【中文标题】SSIS 执行 Analysis Services 任务错误:指定的登录会话不存在。它可能已经被终止【英文标题】:SSIS Execute Analysis Services Task Error: A specified logon session does not exist. It may already have been terminated 【发布时间】:2013-06-19 12:52:17 【问题描述】:我有一个完全运行的 SSIS 上的 ETL,并通过 SSAS 创建多维数据集并成功、部署和处理。
我可以通过 Visual Studio 运行 ETL,进程和部署 ssas,一切正常
现在我正在尝试将多维数据集处理放在 ETL 中,使用“分析服务处理任务”,其中 3 个:“流程维度”、“流程多维数据集”、“流程数据库”。
我得到错误:
[Analysis Services Execute DDL Task] Error: The following system error occurred: A specified logon session does not exist. It may already have been terminated.
使用两种可能的 SSAS 连接配置:
如果 ssis“分析服务处理任务”连接到 ssas 项目(即在同一解决方案中)。 即使我将“连接管理器”中的连接更改为“创建与运行 Analysis Services 的计算机的连接”,其中设置服务器:.\SQLSERVER2008R2,位置空白,集成安全,数据库目录集,teste与成功的联系。然后我用连接字符串更新了配置文件,只是为了确定。唯一的办法是只运行 etl 任务,通过 Visual Studio 部署 ssas 项目(提示我插入我的 windows 用户密码!),然后运行 ssis 包的 ssas 任务,之后是 ssas ssis 中的任务运行成功。
更新:我已将连接更改为 Windows 身份验证,测试正常。但是当我运行 ssis 任务时仍然出现同样的错误......我从来没有见过这样的事情
【问题讨论】:
【参考方案1】:你是如何执行你的 SSIS 包的?该错误通常与通过 Windows 任务运行时相关,并且绑定到在“常规”选项卡上具有“无论用户是否登录都运行”安全选项的安全策略。我指的是以下内容:
在跑通任务的情况下,可以尝试禁用策略,看看问题是否依然存在
但是不清楚你在使用什么来执行 SSIS。
【讨论】:
抱歉,我没有弄清楚,我正在通过 Visual Studio 执行 SSIS ETL 包。不过,我检查了一下,该政策已经被禁用。唯一的办法是只运行 etl 任务,通过 Visual Studio 部署 ssas 项目(提示我插入我的 windows 用户密码!),然后运行 ssis 包的 ssas 任务。 尝试使用完整的主机名和 IP 地址访问分析服务器。 我会尝试使用主机名,但不需要使用 IP 地址进行测试,因为这都是同一台本地机器 我试过“host”\SQLSERVER2008R2测试连接ok,执行时还是同样的错误【参考方案2】:这不能作为答案,更多的是一种解决方法。
问题在于 Visual Studio 不会在 SSAS 的数据源中存储或检索密码。我试过勾选“保存密码”,手动在dtsConfig文件中插入密码,还是报错,连接的编辑部分密码为空。
我所做的是通过部署向导生成 xmla,该向导在 ETL 运行之前第一次手动执行,这样我在 SSIS 中的 SSAS 任务就可以毫无压力地运行。
旁注:SSAS 和 SSIS 就像微软开发工具的丑陋表亲,它们远远落后于微软拥有的其他项目类型/技术。
【讨论】:
以上是关于SSIS 执行 Analysis Services 任务错误:指定的登录会话不存在。它可能已经被终止的主要内容,如果未能解决你的问题,请参考以下文章
使用 Python 查询 SQL Server Analysis Services (SSAS) 多维数据集数据
使用双跳 Windows 身份验证连接到 Microsoft Analysis Services 多维数据集
对于 SSIS 教程,部署到 Integration Services 目录和 Integration Services 服务器之间的区别
初识SQL Server Integration Services (SSIS)