数据库DB:SSAS项目部署的若干问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据库DB:SSAS项目部署的若干问题相关的知识,希望对你有一定的参考价值。

我是一名实习生,最近在公司做一个BI项目,问题是我之前都没有接触过此类这个方面,自己自学了几天就开始做项目了,现在遇到了好多问题,求各路大神解答!
项目简介:我在实习公司为一个物流公司做BI里关于OLAY部分的工作,使用分析数据的工具是SQL Server。这个公司在此之前已经完成了SSIS的部分,建立了一个数据仓库,现在我需要根据这个数据仓库来完成SSAS,也就是OLAY的部分。
我理解中要实现SSAS需要事先创建好数据仓库,并且在数据仓库中要有事实表和维度表,但实际情况是他们建立的数据仓库中仅仅包含了事实表,而维度表需要我在事实表中先寻找相应的外键,然后再回到他们的关系数据库里寻找可以匹配的“维度”。
补充:他们原本的BI数据仓库与关系数据库是放在一个数据库中,一共900多张表,显得很乱。。
以下是部分的数据仓库表,我选择了其中一个作为例子:
仓库货物出入表(事实表):ID(主键),仓库ID,客户CODE,入库数量,出库数量,剩余数量...(仓库ID,客户CODE用来关联仓库和客户的两个维度,后面三个则是度量值)
仓库表(维度表):仓库ID(主键),仓库名称,仓库地点...
客户表(维度表):客户ID,仓库ID(主键),客户CODE(主键),客户名称,客户所在城市...(这里把仓库ID和客户CODE作为复合主键)
于是我按照微软官方的SSAS教程,一步步进行配置,因为客户表是双主键,所以在数据源视图里,我把两个字段都进行了关联。但是在最后部署的时候发现有错误:
#####错误 12 服务器: 已取消当前操作,因为事务中的另一个操作失败。#####

这个错误我根本查不到在哪里有问题,于是我还做了相应的实验:
我按照微软的格式,在物流公司同一个数据库下,建立了测试的事实表和维度表,通过部署后发现没有问题。——说明软件、数据库均没有问题。
同一数据库下,复制三张表格,删除了不必要的列,部署出错。
同一数据库下,复制三张表格,删除所有数据,填入一些简单的测试数据,部署成功。——数据之间的问题。
同一数据库下,复制三张表格,删除了客户表数据,并填入一些简单的测试数据,部署成功——应该是客户表中的数据问题,因为另外两张表都是原表,如果另外两张表有问题就不会部署成功了。
同一数据库下,复制三张表格,删除了客户表数据,并添加了一条原本和事实表相关联的数据,部署成功。——猜测:客户表中不能有不关联的数据?
同一数据库下,复制三张表格,删除了客户表数据,添加了一条原本和事实表相关联的数据,一条原本和事实表不关联的数据,部署失败。
那么问题来了:如果因为客户表里面有不关联的数据而报错,那么在仓库表中同样有和事实表不关联的数据,为什么仓库表没有问题?而且在6报错的信息与之前的错误信息不同:
#####
错误 7 内部错误: 操作未能成功,已终止。
错误 10 OLAP 存储引擎中存在错误: 由于处理过程中遇到的错误数达到为操作定义的最大允许错误数,处理操作结束。
错误 11 OLAP 存储引擎中存在错误: 处理“t Dc Inventory Snapshot”分区时出错,该分区属于 BI1 数据库的“AAD”多维数据集的“t Dc Inventory Snapshot”度量值组。
错误 12 服务器: 已取消当前操作,因为事务中的另一个操作失败。
#####

这几天都在搞这个项目,自己又完全不懂,如果我以上有什么概念理解问题,请大神不要鄙视。。

我是一名实习生,最近在公司做一个BI项目,问题是我之前都没有接触过此类这个方面,自己自学了几天就开始做项目了,现在遇到了好多问题,求各路大神解答!
项目简介:我在实习公司为一个物流公司做BI里关于OLAY部分的工作,使用分析数据的工具是SQL Server。这个公司在此之前已经完成了SSIS的部分,建立了一个数据仓库,现在我需要根据这个数据仓库来完成SSAS,也就是OLAY的部分。
我理解中要实现SSAS需要事先创建好数据仓库,并且在数据仓库中要有事实表和维度表,但实际情况是他们建立的数据仓库中仅仅包含了事实表,而维度表需要我在事实表中先寻找相应的外键,然后再回到他们的关系数据库里寻找可以匹配的“维度”。
补充:他们原本的BI数据仓库与关系数据库是放在一个数据库中,一共900多张表,显得很乱。。
以下是部分的数据仓库表,我选择了其中一个作为例子:
仓库货物出入表(事实表):ID(主键),仓库ID,客户CODE,入库数量,出库数量,剩余数量...(仓库ID,客户CODE用来关联仓库和客户的两个维度,后面三个则是度量值)
仓库表(维度表):仓库ID(主键),仓库名称,仓库地点...
客户表(维度表):客户ID,仓库ID(主键),客户CODE(主键),客户名称,客户所在城市...(这里把仓库ID和客户CODE作为复合主键)
于是我按照微软官方的SSAS教程,一步步进行配置,因为客户表是双主键,所以在数据源视图里,我把两个字段都进行了关联。但是在最后部署的时候发现有错误:
#####错误 12 服务器: 已取消当前操作,因为事务中的另一个操作失败。#####

这个错误我根本查不到在哪里有问题,于是我还做了相应的实验:
我按照微软的格式,在物流公司同一个数据库下,建立了测试的事实表和维度表,通过部署后发现没有问题。——说明软件、数据库均没有问题。
1.同一数据库下,复制三张表格,删除了不必要的列,部署出错。
2.同一数据库下,复制三张表格,删除所有数据,填入一些简单的测试数据,部署成功。——数据之间的问题。
3.同一数据库下,复制三张表格,删除了客户表数据,并填入一些简单的测试数据,部署成功——应该是客户表中的数据问题,4.因为另外两张表都是原表,如果另外两张表有问题就不会部署成功了。
5.同一数据库下,复制三张表格,删除了客户表数据,并添加了一条原本和事实表相关联的数据,部署成功。——猜测:客户表中不能有不关联的数据?
6.同一数据库下,复制三张表格,删除了客户表数据,添加了一条原本和事实表相关联的数据,一条原本和事实表不关联的数据,部署失败。
那么问题来了:如果因为客户表里面有不关联的数据而报错,那么在仓库表中同样有和事实表不关联的数据,为什么仓库表没有问题?而且在6报错的信息与之前的错误信息不同:
#####
错误 7 内部错误: 操作未能成功,已终止。
错误 10 OLAP 存储引擎中存在错误: 由于处理过程中遇到的错误数达到为操作定义的最大允许错误数,处理操作结束。
错误 11 OLAP 存储引擎中存在错误: 处理“t Dc Inventory Snapshot”分区时出错,该分区属于 BI1 数据库的“AAD”多维数据集的“t Dc Inventory Snapshot”度量值组。
错误 12 服务器: 已取消当前操作,因为事务中的另一个操作失败。
#####

这几天都在搞这个项目,自己又完全不懂,如果我以上有什么概念理解问题,请大神不要鄙视。。
参考技术A 测试一下,这些数据是否可以关联的

SSAS - 建立连接时出现 OLE DB 错误

【中文标题】SSAS - 建立连接时出现 OLE DB 错误【英文标题】:SSAS - OLE DB error in establishing a connection 【发布时间】:2014-08-20 16:14:52 【问题描述】:

当我尝试使用 Microsoft 的 Pubs 数据样本在 Visual Studio 2013 (sql server 2012) 中处理 SSAS 项目时遇到问题。谁能告诉我如何解决它?提前致谢!

OLE DB 错误:OLE DB 或 ODBC 错误:网络相关或 建立连接时发生特定于实例的错误 到 SQL Server。服务器未找到或无法访问。检查是否 实例名称是正确的,如果 SQL Server 配置为允许 远程连接。有关详细信息,请参阅 SQL Server 联机丛书。 08001;客户端无法建立连接; 08001;不加密 客户端支持。 08001.

【问题讨论】:

【参考方案1】:

将连接管理器中的提供程序更改为 OLE DB。

如果这不起作用,请尝试重新启动 SSAS 服务。

【讨论】:

感谢您的回复,您能否更清楚地解释一下如何更改提供者? 打开你的数据源设计器;单击连接字符串下的编辑按钮。在打开的窗口顶部有一个标有 Provider 的下拉列表。选择“Microsoft OLE Provider for SQL Server”。 您是否尝试过更改提供程序? 感谢您的回复,我已尝试更改提供程序,但仍然无法正常工作:( 我刚刚遇到了和 OP 一样的问题。重新启动 SSAS 数据库对我有用。通过 Management Studio,登录 Analysis Services 并重新启动 SSAS 数据库。【参考方案2】:

这件事今天发生在我身上。我花了 3 个小时尽我所能来修复它,我想分享它,这样也许其他人可以节省这些时间。我的解决方案特别针对我的问题,即我使用模拟使用特定的用户名和密码登录服务器。

在我的例子中,我有一个连接到远程 Azure 服务器的 SSAS 表格模型。我在 Azure DevOps 上使用 Git 进行源代码控制,我刚刚转移到本地网络上的新开发机器上,所以我用最新版本的模型更新了远程仓库,连接到新的开发机器并克隆了仓库那里。然后我尝试恢复我的工作,但我遇到了与您相同的错误:“OLE DB 错误:OLE DB 或 ODBC 错误:在建立与 SQL Server 的连接时发生了与网络相关或特定于实例的错误。服务器是未找到或无法访问……”等等。

无论如何,我尝试重置 SSAS 服务、更改连接提供程序、回滚到我知道有效的先前提交等。没有任何效果。

问题是我的模拟设置!!!我为此项目创建了 SSAS_Data_Model 凭据,因此当我克隆存储库时,由于某种原因,模拟必须没有通过密码。

因此,在 Visual Studio 中,转到表格模型资源管理器,单击模型 -> 数据源,编辑连接 -> 模拟... -> 并在“特定 Windows 用户名和密码”下,您需要重新输入您的用户名的密码。这终于让它再次工作,我可以再次将表格导入我的模型。

【讨论】:

【参考方案3】:

在您提供适当的服务器、数据库、提供程序时尝试测试连接。因此,您将能够自行解决与连接相关的问题。 (数据源设计器 -> 连接字符串编辑)

【讨论】:

感谢您的回复,我已经测试了这些连接,但是当我尝试处理项目时它无法正常工作:( 这是否意味着测试连接成功?你的数据库服务器和BIDS项目执行服务器不同吗?如果是,那么您正在处理项目的用户也可以访问数据库服务器,如果它在不同的服务器上

以上是关于数据库DB:SSAS项目部署的若干问题的主要内容,如果未能解决你的问题,请参考以下文章

BI之SSAS完整实战教程4 -- 部署至SSAS进行简单分析

使用 ODBC DSN 在远程服务器中部署 SSAS 表格

在 SQL Server Management Studio 中将我的多维数据集从 Visual Studio 2019 部署到 SSAS 时遇到问题

SQL SSAS - 部署错误

SSAS 部署失败 总结

SSAS-Cube Creation 错误部署