排查生命周期管理问题
使用本文排查生命周期管理过程中的问题。
若要了解各种生命周期管理问题的注意事项和限制,请查看下表中的链接:
主题 | Git 集成 | 部署管道 |
---|---|---|
一般限制 | 常规 Git 限制 | 部署管道限制 |
所需权限 | 权限 | 权限 |
工作区限制 | workspaces | workspaces |
支持的 Fabric 项 | 支持的项 | 支持的项 |
语义模型 | 语义模型限制 |
Git 集成
访问问题
我无法访问 Azure DevOps 存储库
问题说明:转到“Git 集成”选项卡时,收到错误消息且无法访问 Azure DevOps。
原因:如果 Power BI 中的身份验证方法比 Azure DevOps 中的身份验证方法弱,它们之间的功能将不起作用。
解决方法:管理员需要在 Power BI 和 Azure DevOps 中调整身份验证方法。 Microsoft Entra ID(Azure Active Directory)的身份验证策略是在管理身份验证方法中定义。
连接问题
连接失败:无法连接到存储库
问题说明:我在尝试连接到 Git 存储库时,收到一条消息,其中指出由于工作区位于另一个区域,因此无法连接它。
原因:如果工作区和存储库位于不同的区域,则必须启用跨区域切换。
解决方案:在位于其他地理位置的工作区上启用 Git 操作。
连接失败:这表示在我尝试连接时出错
问题说明:在“Git 集成”选项卡中选择“连接”后,弹出“出错了”错误对话框。 此外,在选择“源代码管理”按钮时,窗格会指出需要与 Git 分支同步。
原因:如果你正在尝试连接到的文件夹包含子目录,但没有 Fabric 项,那么连接会失败。
解决方案:在 Azure DevOps 中打开 Git 存储库,然后导航到在连接中定义的 Git 文件夹。 如果 Git 文件夹包含子目录,请检查确保至少有一个子目录表示项目录。 如果目录包含 item.config.json 和 item.metadata.json 文件,则该目录是项目录。 如果目录不包含这些文件,则它为子目录。 如果 Git 文件夹不包含任何项目录,无法连接到该文件夹。 请移除子目录,或者连接到其他不包含子目录的文件夹。
连接失败:在我尝试连接到 Git 分支时,系统询问我是否要新建文件夹
问题说明:在“Git 集成”选项卡中选择“连接”后,弹出对话框,指示文件夹路径无效。
原因:你正在尝试连接的文件夹不存在、已被删除,或者与存储库中的现有文件夹存在大小写区别。 如果你正在连接到新分支,或者文件夹已从分支中删除,则可能会出现此消息。
解决方案;
- 若要创建新文件夹并将其连接到工作区,请选择“创建并同步”。
- 要将工作区连接到其他文件夹,请选择“取消”,然后在“Git 集成”选项卡的工作区设置中选择另一个文件夹。
“源代码管理”图标没有数字
问题说明:“源代码管理”图标上的数字表示自上次提交以来对工作区所做的更改次数。 如果图标上没有数字,则可能是连接到分支时出现问题。
解决方案:断开连接,然后再重新连接。
连接失败:提示说我需要高级许可证才能连接到 git
问题说明:我的工作区以前已连接到 git 存储库,但现在它显示我需要高级许可证才能进行连接。
原因:仅当具有有效的高级许可证时,才能连接到 Git 存储库。 如果许可证已过期,或者将许可证更改为不包含 Git 集成的许可证,则无法再连接到该存储库。 这也适用于试用许可证。
解决方案:断开与 Git 的连接,无需源代码管理即可工作,或购买高级许可证。
扩展延伸:看不到我想连接到的分支
问题说明:在“源代码管理”面板的“扩展延伸”选项卡中看不到我想连接到的分支。
原因:扩展延伸列表仅显示你有权查看的分支。
解决方案:检查想要的分支是否存在,以及你是否有权查看它。 否则,请让分支的所有者授予你查看分支限制的权限,以便获取详细信息。
扩展延伸:我的新工作区未与 Git 存储库同步
问题说明:扩展延伸到新工作区时,我将被导航到新工作区,但 Git 集成未在那里启用。 原因:可能会为源工作区启用了 Git 集成切换,但不能为整个租户启用,因为租户管理员可以将切换控制权委托给工作区管理员。 如果是这种情况,新工作区将不会启用 Git 集成,在将工作区与 Git 同步之前,需要从工作区设置中手动启用它。 解决方案:从新工作区的工作区设置中启用 Git 集成。
提交问题
“提交”按钮已禁用
问题说明:如果对 Git 分支进行了更新,在更新工作区之前,会禁用提交。
解决方案:更新工作区以启用提交。
超出最大提交大小
问题说明:尝试将项提交到 Git 时,收到一条错误消息,指示超出了最大提交大小。
原因:提交的文件的总大小限制为 50 MB。
解决方案:若想一次提交多个项,请考虑分为较少的批次进行提交。 如果提交包含一个具有多个文件的项,请联系支持人员。
更新问题
“提交”和“更新”按钮均处于禁用状态
问题说明:更改工作区和 Git 分支中的相同项可能会导致冲突。 如果在工作区和 Git 分支中对相同的项进行了更改,会禁用更新,直到冲突得到解决为止。
解决方案:解决冲突,然后重试。
更新失败:更新未完成,因为它会中断依赖项链接
问题说明:选择“全部更新”或“撤消”后,弹出一个对话框,它指示由于操作中断依赖项链接而导致操作失败。
解决方案:打开世系视图,查找会在更新中从工作区中删除并链接到不会从工作区中删除的项的一个或多个项。
要解决此问题,请删除有问题的项:
选择“全部更新”。
有关详细信息,请参阅从 Git 手动更新。
更新后失败:依赖项未指向正确的项
问题说明:从 Git 更新后,再查看世系视图时,某些项的依赖项不符合预期。 例如,代理模型不再指向正确的模型。
原因:Git 集成目前不支持直接查询和代理模型。
解决方案:要修复依赖项,请执行下列操作之一:
- 在 Git 存储库中编辑 ProxyDataset 的 bim 文件,使其指向正确的数据集,然后在工作区中从 Git 更新来接收更改。
- 使用更新数据源 API 更新工作区中代理模型的连接详细信息。
解决错误问题
撤消问题
撤消失败:选择“撤消”后,弹出一个对话框,它指示由于找不到依赖项而导致操作失败
问题说明:如果在“更改”选项卡中有未提交的依赖项,且该依赖项在“撤消”操作中未选中,那么撤消操作后会出现以下错误。
解决方案:选择所选数据库的所有依赖项,然后重试。
依赖项错误:选择“撤消”、“更新”或“切换分支”后弹出一个对话框,指出由于操作中断依赖项链接而导致失败
问题说明:撤消、更新或切换分支操作后出现以下错误:
原因:工作区中有一个不受支持的项,它依赖于不再位于工作区中的项,从而导致依赖项问题。
解决方案:打开世系视图,查找已选择要“撤消”且链接到未选择的项的一个或多个项。
要解决此问题,请删除有问题的项:
- 如果未选择的项受到 Git 支持(例如报表),请也选择它进行删除。
- 如果未选择的项不受 Git 支持(例如仪表板),请从工作区中手动删除它。
若要了解有关依赖项的详细信息,请参阅了解依赖项。
部署管道
我看不到“部署管道”按钮
如果未满足以下条件,你将无法看到“部署管道”按钮。
你拥有 Fabric 许可证。
你是工作区的管理员。
我在我的工作区中看不到管道阶段标记
部署管道显示分配给管道的工作区中的管道阶段标记。 若要查看这些标记,需成为管道管理员。“开发”和“测试”阶段的标记始终可见。 但是,如果你有权访问管道,则只会看到“生产”标记。
部署后断开连接
问题说明:在完整管道中,从阶段取消分配工作区,然后再部署到该阶段后,部署管道会在部署源阶段和目标阶段中的项之间重新建立连接。 但是,有时部署管道无法在源阶段和目标阶段中的项之间重新建立连接。 例如,意外删除项时,可能会发生这种情况。
解决方案:若要重新建立这些连接,请在目标阶段中取消分配,然后再重新分配同一工作区。
我无法将工作区分配给阶段
原因:在将工作区分配到部署管道阶段时,部署管道会检查工作区中的项(例如报表和仪表板)。 如果相邻阶段中具有两个类型和名称都相同的项,则部署管道无法确定其中哪一个项应与分配的工作区中的项匹配,并且会出现“无法分配工作区”错误消息。 例如,如果你尝试将工作区分配到测试阶段,并且其中一个报表称为“区域销售”,那么当“开发”或“生产”阶段中有多个同名报表时,分配会失败。 如果要分配的工作区中有两个名为“区域销售语义模型”的语义模型,并且“开发”或“生产”阶段存在同名语义模型,则分配工作区也会失败。
解决方案:若要解决此错误,请更改与尝试分配的阶段中的项不匹配的项的名称。 可以选择错误消息中的链接,在 Fabric 中打开项。
在分配一个语义模型与相邻阶段中语义模型相似的工作区后,我看到了“不同”符号
原因:大多数语义模型使用增强型语义模型元数据功能(也称为模型 v3)。 不过,较旧的报表可能使用旧类型的语义模型元数据(有时称为模型 v1)。 如果要分配的工作区使用旧语义模型元数据模型 (v1),则部署管道无法评估相邻阶段中的语义模型是否相似。 在这种情况下,即使语义模型相同,也会显示不同 UI 符号。
解决方法:若要解决此问题,请部署显示不同符号的语义模型。
我在尝试将工作区分配到管道时,看不到我的所有工作区
原因:有很多原因可能会导致你在可分配给管道的工作区列表中看不到工作区。
解决方案:若要将工作区分配到管道,必须满足以下条件:
你是工作区的管理员
工作区未分配到任何其他管道
工作区位于 Fabric容量中
不满足这些条件的工作区将不会显示在你可以从中进行选择的工作区列表中。
我的第一个部署失败
原因:有很多原因可能会导致第一个部署失败。
解决方案:下表列出了可能导致失败的一些原因及其解决方案。
Error | 操作 |
---|---|
你没有容量权限。 | 如果你在具有 Fabric 容量的组织中工作,请要求容量管理员将你的工作区添加到容量,或者要求提供容量的分配权限。 在工作区达到容量要求后重新部署。 如果所在组织不具备 Fabric 容量,请考虑购买 Premium Per User (PPU)。 |
你没有工作区权限。 | 若要进行部署,你必须是工作区成员。 要求工作区管理员向你授予适当的权限。 |
你的 Fabric 管理员禁用了工作区的创建。 | 请与 Fabric 管理员联系以获取支持。 |
你使用的是选择性部署并且没有选择所有链接的项。 | 执行以下操作之一: 取消选择链接到语义模型或数据流的内容。 未选择的内容(例如语义模型、报表或仪表板)不会复制到下一阶段。 选择链接到所选项的语义模型或数据流。 已选择的项将会复制到下一阶段。 |
在我尝试部署时,我的工作区中有“不受支持的项”
原因:部署管道并不支持所有项。
解决方案:有关部署管道中支持的项的完整列表,请参阅以下部分:
任何未在支持项列表中列出的项都不会复制到下一阶段。
我想在管道阶段更改数据源
原因:你无法在 Power BI 服务中更改数据源连接。
解决方案:如果要在测试或生产阶段中更改数据源,可以使用部署规则或 API。 部署规则只有在下一个部署后才会生效。
我修复了生产中的一个 bug,但现在“部署至前一阶段”按钮被禁用了
原因:你只能反向部署到空阶段。 如果你在测试阶段中具有内容,则你无法从生产反向部署。
解决方案:创建管道后,请使用开发阶段来开发内容,使用测试阶段进行审核和测试。 可以修复这些阶段中的 bug,然后将固定环境部署到生产阶段。
错误消息:“继续部署”
原因:源阶段架构中断性变更(例如,将列类型从整数替换为字符串)导致部署后目标语义模型中数据丢失。
在部署期间,将会根据目标元数据检查源语义模型中的元数据。 架构中断性变更导致部署停止。 发生这种情况时,你会收到“继续部署”消息。
解决方案:如果你继续部署,你会在目标阶段中丢失数据。 如果对语义模型所做的更改是有意而为的,则可以使用此选项。 部署完成后,需要刷新目标语义模型。
如果不是故意进行的更改,请关闭消息窗口,将固定的 .pbix 文件上传到源工作区并重新部署。
由于架构更改而导致部署失败后,目标阶段将显示“部署失败”消息,并提供“显示详细信息”链接。 此链接将打开在部署失败期间显示的同一“继续部署”消息窗口。
错误消息:“无法启动部署”
原因:使用增量刷新时,只允许对正在部署的语义模型进行特定更改。 如果进行了不允许的语义模型更改,部署将会失败,并且你会收到以下消息:
解决方法:如果对语义模型的更改是有意而为的,请使用以下解决方法之一:
使用 .pbix - 将更改直接发布到目标语义模型。 所有分区和数据都会丢失,因此需要刷新语义模型。
使用 XMLA 工具 - 在目标阶段直接对语义模型进行更改。
部署语义模型或数据流后,我的视觉对象被破坏
原因:语义模型和数据流是存储数据且包含数据和元数据的 Fabric 项。 在部署期间,只复制元数据,而不复制数据。 因此,在部署后,语义模型或数据流可能没有任何数据,并且依赖于此数据的报表视觉对象将显示为已损坏。
解决方法:若要解决此问题,请刷新数据流,然后在目标阶段刷新语义模型。
如何删除没有所有者的管道(孤立管道)?
原因:使用部署管道时,你最终可能会得到一个没有所有者的管道。 例如,当拥有某一管道的用户离开公司,但没有转移所有权时,此管道可能没有所有者。 当管道没有所有者时,其他用户无法访问它。 由于工作区只能分配给一个管道,如果将它分配给没有所有者的管道,那么没有人能够取消分配它,你也无法在另一个管道中使用该工作区。
解决方案:如果管道没有所有者,Fabric 管理员可向该管道添加新的所有者,或者删除该管道。 若要向管道添加所有者,请使用 Admin - Pipelines UpdateUserAsAdmin API。
你还可以查看我们的 PowerShell 脚本 AddUserToWorkspacePipeline(可以从 PowerBI-Developer-Samples GitHub 存储库中获得),通过此脚本可以实现以下操作:
管理管道访问 - 将任何用户添加到管道中的工作区。
回收工作区所有权 - 将任何用户添加到没有所有者的管道中的工作区,这使你能够对它解除锁定。
若要使用此脚本,你需要提供工作区名称和用户主体名称 (UPN)。 此脚本会查找将工作区分配到的管道,并向指定的用户添加管理员权限。
不匹配错误:源和目标语义模型格式版本不匹配错误
问题说明:当目标阶段中的语义模型的模型版本高于源阶段中的语义模型时,会发生“无法启动部署”错误,指出源和目标语义模型具有不同的数据建模格式。 在这种情况下,部署管道无法从源阶段部署到目标阶段。 若要避免此错误,请在源阶段使用具有相同(或更高)模型版本的语义模型。
解决方法:使用 XMLA 读写终结点或 Power BI Desktop 升级源阶段中的语义模型。 升级语义模型后,将其重新发布到源阶段。
不匹配错误:数据源连接模式不匹配错误
问题说明:在部署期间,如果部署管道发现目标阶段中数据源的连接模式与源阶段中的数据源不同,它会尝试转换目标阶段中数据源的连接模式。 如果你使用的是具有活动连接或实时连接模式的数据源,部署管道就无法转换目标的数据源连接模式。
解决方案:使用 XMLA 读写终结点或 Power BI Desktop 更改源阶段中数据源的连接模式,或者删除目标阶段中的数据源,以便部署覆盖它。
我的语义模型部署失败
原因:有一些原因可能会导致你的语义模型部署失败。 以下是可能会造成此故障的原因:
- 未使用大语义模型格式配置的大语义模型。
- 语义模型包含循环或自我依赖项(例如,项 A 引用项 B 和项 B 引用项 A)。 在这种情况下,你将看到以下错误消息: 一个或多个项目无法部署,因为它将导致项之间的双向依赖关系。
解决方案:
- 如果语义模型大于 4 GB 并且未使用大语义模型格式,则它可能无法部署。 尝试将语义模型设置为使用大语义模型格式,然后重新部署。
- 如果语义模型包含循环或自我依赖项,请删除依赖项并重新部署。
我的语义模型具有使用变体或自动日期/时间表的 DirectQuery 或组合连接模式
原因:部署管道不支持使用 DirectQuery 或组合连接模式且具有变体或自动日期/时间表的语义模型。
解决方法:如果部署失败,并且你认为这是因为你有一个包含变体表的语义模型,那么你可以在表的列中查找变体属性。 可使用以下方法之一来编辑语义模型,使其在部署管道中工作。
在语义模型中使用导入模式,而不是 DirectQuery 或组合模式。
从语义模型中删除自动日期/时间表。 如有必要,请从表中的所有列中删除所有剩余变体。 删除变体可能会使用户创作的度量值、计算列和计算表失效。 请仅在了解语义模型的工作原理后才使用此方法,因为它可能会导致视觉对象中的数据损坏。
分页报表
我无法部署分页报表
解决方案:要部署分页报表,你需要成为要从中进行部署的工作区(源阶段工作区)中的工作区成员。 如果你不是源阶段中的工作区成员,你将无法部署分页报表。
数据源不匹配:目标阶段分页报表显示源阶段中 Fabric 语义模型中的数据
问题说明:目前,语义模型被视为外部 Analysis Services 数据源,在部署后不会自动切换语义模型连接。
当你部署已连接到 Fabric 语义模型的分页报表时,该报表会继续指向它最初连接到的语义模型。 使用部署规则将分页报表指向所需的任何语义模型,例如目标阶段语义模型。
解决方法:如果要使用具有 Fabric 语义模型的分页报表,请参阅如何为使用 Fabric 语义模型的分页报表创建部署规则?
部署失败:大量分页报表失败
问题说明:容量重载可能会导致大量带有规则的分页报表部署失败。
解决方案:要解决此问题,请购买更高级别的 SKU 或使用选择性部署。
数据流
世系视图:我删除了属于数据流的数据源,但我仍然可以在世系视图中看到该数据源
原因:在数据流中,不会从数据流数据源页面中移除旧数据源。 为了支持数据流世系视图,不会删除已连接的项。
解决方案:此行为不会影响部署管道。 你仍可以在管道中刷新、编辑和部署数据流。
使用数据流规则后,我看到两个数据源连接到我的数据流
问题说明:使用规则更改数据流的数据源后,数据流的世系视图会显示数据流的源数据源与规则中配置的数据源之间的连接。
解决方案:此行为不会影响部署管道。
数据市场
部署问题:我无法在管道中部署数据市场
解决方案:若要部署数据市场,你必须是数据市场的所有者。
部署问题:Datamart 部署由于循环依赖而失败
解决方案:要么有一项引用自身,要么有多个项涉及循环引用链(例如,项 A 引用项 B 和项 B 引用项 A)。 要部署 Datamart,请删除循环依赖项并重新部署。
权限
谁可以在各个阶段之间部署内容?
内容可以部署到空阶段或包含内容的阶段。 内容必须位于 Fabric 容量中。
部署到空阶段 - 充当源工作区中的成员或管理员的任何具有许可证的 Fabric 用户。
部署到包含内容的阶段 - 充当源和目标部署阶段中的工作区的成员或管理员的任何具有许可证的 Fabric 用户。
覆盖语义模型 - 即使语义模型未更改,部署也会覆盖目标阶段中包含的每个语义模型。 可以是这两个工作区的任何成员或管理员用户,但租户管理员可以将其限制为目标语义模型所有者。
我在管道中看不到工作区
原因:会单独管理管道和工作区权限。 你可能具有管道权限,但没有工作区权限。
解决方案:有关详细信息,请查看权限部分。
错误消息:“需要工作区成员权限”
解决方案:若要分配工作区,你需要至少对其相邻阶段中的工作区具有工作区成员权限。 需要在相邻阶段中具有工作区成员(或更高级别)权限,这样部署管道才能在相邻管道阶段中的项之间建立连接。
规则
由于违反规则而导致部署失败
解决方案:如果在配置部署规则时遇到问题,请访问部署规则,并确保遵循部署规则限制。
如果部署先前成功,但现在因违反规则而突然失败,则原因可能是重新发布了语义模型。 对源语义模型进行以下更改会导致部署失败:
参数规则
删除的参数
更改的参数名称
数据源规则
部署规则缺少值。 如果语义模型已更改,则可能会发生这种情况。
当以前成功的部署由于链接断开而失败时,将显示一条警告。 可以选择“配置规则”导航到部署规则窗格,其中标记了失败的语义模型。 当你选择语义模型时,会标记违反的规则。
若要成功部署,请修复或删除打破的规则,然后重新部署。
部署问题:我配置了规则,但它没有部署
原因:部署规则在配置后不会立即应用。
解决方法:若要应用部署规则,必须将语义模型从源阶段部署到包含已创建的部署规则的目标阶段。 配置部署规则之后、在部署之前,具有已配置规则的语义模型旁边会显示不同指示器。 这表示需要将该语义模型从源阶段部署到目标阶段。 部署后,如果没有进行其他更改,“不同”指示器会消失,表示已成功应用规则。
部署规则灰显
解决方案:若要创建部署规则,你必须是要为其创建部署规则的项的所有者。 如果你不是项的所有者,部署规则将灰显。
如果其中的某个规则选项灰显,可能由以下原因导致:
数据源规则 - 没有可在其上配置规则的数据源。
参数规则 - 没有可为规则配置的参数。
语义模型的数据源规则失败
解决方案:由于以下原因之一,保存数据源规则可能会失败:
语义模型包含连接到数据源的函数。 在这种情况下,不支持数据源规则。
数据源正在使用参数。 不能为使用参数的语义模型数创建数据源规则。 请改为创建参数规则。
创建新的语义模型规则时无法连接到语义模型
原因:使用 Power BI Desktop 构造语义模型时,可以配置连接字符串。 稍后,语义模型可以由 Power BI 服务中的部署管道发布和使用。 在 Power BI Desktop 中创建连接时,可指定其他参数。 指定参数时,语义模型源必须是列出的第一个参数。 如果你在语义模型源之前列出任何其他参数,那么你会在 Power BI 服务中遇到错误。 在这种情况下,当配置新的语义模型规则时,如果指向 Power BI Desktop 中未正确配置的语义模型,则部署管道无法创建规则。
解决方法:设置 Power BI Desktop 中语义模型连接的格式,使语义模型源显示在第一行中。 然后重新发布语义模型。
排查错误
使用本部分对你创建的管道规则进行故障排除。 如果未看到规则错误消息名称,请查看部署规则限制以及数据流和语义模型规则支持的数据源,然后尝试重新配置规则。
错误消息 | 解决方案 |
---|---|
数据源规则不能包含参数 | 无法应用规则,因为规则中引用的服务器名称或数据库名称由参数控制。 若要更改服务器或数据库名称,请使用参数规则,或者从已配置的项中删除控制参数。 |
数据源执行失败 | 由于从数据源检索数据时出现问题,无法应用规则。 删除规则,并确保语义模型具有有效的查询。 然后再次尝试创建规则 |
规则属性不再存在 | 规则中配置的一些规则属性不再存在。 刷新页面并再次配置规则。 |
非法值 | 配置的规则中使用的一个值无效。 验证规则的值,并尝试再次配置规则。 |
不支持多个数据源 | 由于语义模型规则的数据源配置问题,无法应用该规则。 删除该规则,或使用标准 Power BI Desktop 工具重写语义模型查询。 |
目标语义模型只能由其所有者更改 | 规则将覆盖目标工作区中的某些语义模型。 你必须是要覆盖的任何语义模型的所有者。 |