Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
本文提供了有关在 Azure 虚拟机上备份 SAP HANA 数据库的故障排除信息。 有关目前支持的 SAP HANA 备份方案的详细信息,请参阅方案支持。
先决条件和权限
用于备份和还原 SAP HANA 数据库的常见用户错误
UserErrorHANAInternalRoleNotPresent
| 错误消息 | Azure Backup doesn't have required role privileges to carry out Backup and Restore operations |
|---|---|
| 可能的原因 | 如果备份用户 (AZUREWLBACKUPHANAUSER) 未分配 SAP_INTERNAL_HANA_SUPPORT 角色或该角色可能被覆盖,则所有操作都将失败并出现此错误。 |
| 建议的操作 | 下载预注册脚本并在 SAP HANA 实例上运行该脚本,或手动将 SAP_INTERNAL_HANA_SUPPORT 角色分配给备份用户 (AZUREWLBACKUPHANAUSER)。 注意 如果使用 HANA 2.0 SPS04 Rev 46 及更高版本,则不会发生此错误,因为在这些 HANA 版本中已弃用 SAP_INTERNAL_HANA_SUPPORT 角色。 |
UserErrorInOpeningHanaOdbcConnection
| 错误消息 | Failed to connect to HANA system |
|---|---|
| 可能的原因 |
|
| 建议的操作 | 检查系统是否正在运行。 如果一个或多个数据库正在运行,请确保设置了所需的权限。 为此,请下载预注册脚本并在 SAP HANA 实例上运行该脚本。 |
UserErrorHanaInstanceNameInvalid(用户错误:Hana实例名称无效)
| 错误消息 | The specified SAP HANA instance is either invalid or can't be found |
|---|---|
| 可能的原因 |
|
| 建议的操作 |
|
UserErrorHANALSNValidationFailure(用户错误:HANA日志序列号验证失败)
| 错误消息 | Backup log chain is broken |
|---|---|
| 可能的原因 | 有多种原因可以触发 HANA LSN 日志链中断,包括:
|
| 建议的操作 | 为解决此问题,Azure 备份会触发自动修复完整备份。 虽然此自动恢复备份正在进行中,但 HANA 触发的所有日志备份都失败,错误消息为 OperationCancelledBecauseConflictingAutohealOperationRunningUserError。 自动修复完整备份完成后,日志和所有其他备份将开始按预期方式工作。 如果在 24 小时内未看到已触发的自动修复完整备份或任何成功的备份(完整/差异/增量),请联系 Microsoft 支持部门。 |
UserErrorSDCtoMDCUpgradeDetected(已检测到从SDC升级到MDC的用户错误)
| 错误消息 | SDC to MDC upgrade detected. |
|---|---|
| 可能的原因 | 将 SDC 系统升级到 MDC 时,备份失败并出现此错误。 |
| 建议的操作 | 若要排查和解决问题,请参阅 SDC 到 MDC 的升级。 |
用户错误:配置Backint无效 (UserErrorInvalidBackintConfiguration)
| 错误消息 | Backups will fail with this error when the Backint Configuration is incorrectly updated. |
|---|---|
| 可能的原因 | 在 Azure 备份的配置保护流程中更新的 Backint 配置已被客户更改或更新。 |
| 建议的操作 | 检查是否设置了以下 (Backint) 参数:
|
用户错误:源和目标系统不兼容,无法恢复
| 错误消息 | The source and target systems for restore are incompatible. |
|---|---|
| 可能的原因 | 当源和目标 HANA 数据库以及系统不兼容时,还原流失败并出现此错误。 |
| 建议的操作 | 确保还原方案不属于以下可能的不兼容还原: 案例 1:在还原过程中无法重命名 SYSTEMDB。 情形 2:源端—SDC,目标端—MDC:源数据库无法在目标系统上恢复为 SYSTEMDB 或租户数据库。 案例 3:源 — MDC 和目标 — SDC:源数据库(SYSTEMDB 或租户 DB)无法还原到目标。 若要了解详细信息,请参阅 SAP 支持启动板中的说明 1642148。 |
用户错误HANA PO不存在
| 错误消息 | Database configured for backup doesn't exist. |
|---|---|
| 可能的原因 | 如果删除配置了备份的数据库,对此数据库的所有计划备份和按需备份都将失败。 |
| 建议的操作 | 验证数据库是否已删除。 重新创建数据库或停止保护(保留或不保留数据)数据库。 |
用户错误:数据库用户权限不足
| 错误消息 | Azure Backup does not have enough privileges to carry out Backup and Restore operations. |
|---|---|
| 可能的原因 | 由预注册脚本创建的备份用户 (AZUREWLBACKUPHANAUSER) 没有被分配以下一个或多个角色:
|
| 建议的操作 | 若要解决此问题,请将所需的角色和权限手动添加到备份用户 (AZUREWLBACKUPHANAUSER)。 也可下载预注册脚本并在 SAP HANA 实例上运行该脚本。 |
用户错误数据库用户密码已过期
| 错误消息 | Database/Backup user's password expired. |
|---|---|
| 可能的原因 | 预注册脚本创建的数据库/备份用户不会设置密码的到期时间。 但是,如果更改了该设置,则可能会出现此错误。 |
| 建议的操作 | 下载预注册脚本并在 SAP HANA 实例上运行该脚本,以解决此问题。 |
用户错误不一致SSFS
| 错误消息 | SAP HANA error |
|---|---|
| 可能的原因 | 从 SAP HANA 引擎收到的安全存储文件系统 (SSFS) 不一致错误。 |
| 建议的操作 | 请与 SAP HANA 团队合作来解决此问题。 若要了解详细信息,请参阅 SAP 说明 0002097613。 |
用户错误无法连接到Azure Active Directory服务
| 错误消息 | Unable to connect to the AAD service from the HANA system. |
|---|---|
| 可能的原因 | 作为备份扩展插件服务帐户的防火墙或代理设置不允许与 Microsoft Entra ID 建立出站连接。 |
| 建议的操作 | 为确保到 Microsoft Entra ID 的出站连接成功,请调整防火墙或代理设置。 |
用户错误配置的SSL CA存储
| 错误消息 | Misconfigured CA store |
|---|---|
| 可能的原因 | 备份扩展的插件主机进程无法访问根 CA 存储(对于 SLES,其位置为 /var/lib/ca-certificates/ca-bundle.pem)。 |
| 建议的操作 | 通过使用 chmod o+r 还原原始权限来修复 CA 存储问题。 然后重启插件主机服务,这是确保备份和还原成功的必要步骤。 |
用户错误备份失败因为补救备份正在进行中
| 错误消息 | Remedial Backup in progress. |
|---|---|
| 可能的原因 | Azure 备份会触发补救性完整备份来处理 LSN 日志链中断。 虽然补救性完整备份正在进行,但通过门户/CLI 触发的备份(完整/差异/增量)失败并出现此错误。 |
| 建议的操作 | 请等待补救性完整备份成功完成,然后再触发其他备份。 |
操作取消,因为存在冲突的正在运行的用户操作错误
| 错误消息 | Conflicting operation in progress. |
|---|---|
| 可能的原因 | 通过门户/CLI/本机 HANA 客户端触发完整/差异/增量备份,而另一个完整/差异/增量备份已在进行中。 |
| 建议的操作 | 请在触发新的完整/增量备份之前先等待活动备份作业完成。 |
操作已取消,因为正在运行的自动修复操作存在冲突 用户错误
| 错误消息 | Auto-heal Full backup in progress. |
|---|---|
| 可能的原因 | Azure 备份触发自动修复完整备份,以解决 UserErrorHANALSNValidationFailure。 虽然自动修复备份正在进行,但 HANA 触发的所有日志备份均会失败,失败信息为“OperationCancelledBecauseConflictingAutohealOperationRunningUserError”。 自动修复完整备份完成后,日志和所有其他备份将开始按预期方式工作。 |
| 建议的操作 | 请在触发新的完整/增量备份之前先等待自动修复完整备份完成。 |
环境预注册脚本运行错误
用户错误:Hana预脚本未运行
UserErrorPreregistrationScriptNotRun
| 错误消息 | Pre-registration script not run. |
|---|---|
| 可能的原因 | 用于设置环境的 SAP HANA 预注册脚本尚未运行。 |
| 建议的操作 | 下载预注册脚本并在 SAP HANA 实例上运行该脚本。 |
用户错误目标PO已存在未指定覆盖
| 错误消息 | Target database cannot be overwritten for Restore. |
|---|---|
| 可能的原因 | 目标数据库已存在,但无法进行覆盖。 在门户/CLI 上的还原流程中未设置强制覆盖选项。 |
| 建议的操作 | 请使用所选的“强制覆盖”选项来还原数据库,或将数据库还原为其他目标数据库。 |
用户错误恢复系统脚本未能触发还原
| 错误消息 | recoverSys.py could not be run successfully to restore System DB. |
|---|---|
| 可能的原因 | 导致系统 DB 还原失败的可能原因包括:
|
| 建议的操作 |
|
用户错误:数据库名称格式不正确
| 错误消息 | Restored database name not in correct format. |
|---|---|
| 可能的原因 | 你提供的已还原数据库名称未采用可接受的/预期的格式。 |
| 建议的操作 | 请确保还原的数据库名称以字母开头,并且不应包含数字或下划线以外的任何符号。 名称最多只能包含 127 个字符,不能以“_SYS_”开头。 |
UserErrorDefaultSidAdmDirectoryChanged
| 错误消息 | Default sid-adm directory changed. |
|---|---|
| 可能的原因 | 默认 sid-adm 目录已更改, HDBsettings.sh 在此默认目录中不可用。 |
| 建议的操作 | 如果 HXE 是 SID,请确保以 sid-adm 用户身份将环境变量 HOME 设置为 /usr/sap/HXE/home。 |
UserErrorHDBsettingsScriptNotFound (用户错误:未找到HDB设置脚本)
| 错误消息 | HDBsettings.sh file cannot be found. |
|---|---|
| 可能的原因 | 由于 <sid>adm 用户环境找不到 HDBsettings.sh 文件来触发还原,系统数据库还原失败 。 |
| 建议的操作 | 请与 SAP HANA 团队合作来解决此问题。 如果 HXE 是 SID,请确保以 sid-adm 用户身份将环境变量 HOME 设置为 /usr/sap/HXE/home。 |
用户错误:系统驱动器上没有足够的空间用于扩展元数据
| 错误消息 | Insufficient space on HANA machine to perform Configure Backup, Backup or Restore activities. |
|---|---|
| 可能的原因 | HANA 计算机上的磁盘空间几乎已满或已满,导致“配置备份”、“备份”或“还原”操作失败。 |
| 建议的操作 | 检查 HANA 计算机上的磁盘空间,确保有足够的空间可用于成功完成“配置备份”、“备份”或“还原”操作。 |
云Dos绝对限制已达
| 错误消息 | Operation is blocked as you have reached the limit on number of operations permitted in 24 hours. |
|---|---|
| 可能的原因 | 达到 24 小时内允许的最大操作数量限制后,会出现此错误。 例如:如果已达到每日可触发的配置备份作业数限制,而你尝试针对新项配置备份,则将出现此错误。 |
| 建议的操作 | 通常,在 24 小时后重试操作即可解决此问题。 但是,如果问题持续出现,可以联系 Microsoft 支持人员获得帮助。 |
云端DoS绝对限制已达重试
| 错误消息 | Operation is blocked as the vault has reached its maximum limit for such operations permitted in a span of 24 hours. |
|---|---|
| 可能的原因 | 达到 24 小时内允许的最大操作数量限制后,会出现此错误。 此错误通常出现在执行大规模操作(例如修改策略或自动保护)时。 与 CloudDosAbsoluteLimitReached 的情况不同,你对于缓解这种状态几乎无能为力。 事实上,Azure 备份服务将针对相关的所有项目,在内部重试操作。 例如:如果使用某个策略保护了大量的数据源,而你尝试修改该策略,则会针对每个受保护项触发配置保护作业,因此有时可能会达到每日允许的最大此类操作数量限制。 |
| 建议的操作 | Azure 备份服务会在 24 小时后自动重试此操作。 |
用户错误无效Backint
| 错误消息 | 找到无效的 hdbbackint 可执行文件。 |
|---|---|
| 可能的原因 | 1. 由于新位置的存储空间不足,将 Backint 路径从 /opt/msawb/bin 更改为 /usr/sap/<sid>/SYS/global/hdb/opt/hdbbackint 的操作失败。 2. 位于 的 hdbbackint 实用工具没有可执行权限或正确的所有权。 |
| 建议的操作 | 1.请确保 /usr/sap/<sid>/SYS/global/hdb/opt/hdbbackint 或要保存备份的路径上有可用空间。 2. 确保 sapsys 组通过运行 chmod 755 命令对 /usr/sap/<sid>/SYS/global/hdb/opt/hdbbackint 文件具有适当的权限。 |
UserErrorHanaSQLQueryFailed
| 错误消息 | 在 SAP HANA 服务器上运行查询时操作失败。 由于此用户错误导致的所有失败操作是因在运行查询时 SAP HANA 端出现的问题。 附加细节清晰传达了错误信息。 |
|---|---|
| 可能的原因 | - 磁盘损坏问题。 - 内存分配问题。 - 使用的数据库过多。 - 拓扑更新问题。 |
| 建议的操作 | 请与 SAP HANA 团队合作来解决此问题。 然而,如果问题持续出现,可以联系 Microsoft 支持人员获取更多帮助。 |
用户错误恢复目标目录缺失
| 错误消息 |
PreRestoreDataParamsPrep: Target directory 不存在。 |
|---|---|
| 可能的原因 | 由于为还原选择的目录在目标服务器上不存在或该目录无法访问,因此,还原为文件将失败。 |
| 建议的操作 | 验证所选目录在目标服务器上是否可用,并确保在还原时选择了正确的目标服务器。 |
扩展升级时作业已取消
| 错误消息 | 备份作业已取消,因为工作负荷备份扩展服务已重启来进行升级。 |
|---|---|
| 可能的原因 | 由于在执行备份/还原操作期间进行了自动扩展升级,备份和还原作业失败。 |
| 建议的操作 | 等待扩展升级完成。 然后,HANA 会重新触发失败的日志备份(如果有)。 但是,失败的完全/差异/增量备份不会由 Azure 备份重新触发,你需要手动重新触发此操作。 |
还原 SAP HANA 数据库的检查
还原 SAP HANA 数据库时,请确保遵循以下准则:
单容器数据库 (SDC) 还原
在将 HANA 的单容器数据库 (SDC) 还原到另一台 SDC 计算机时,请注意输入。 数据库名称应采用小写形式,后跟括在括号中的sdc。 HANA 实例将以大写字母显示。
已对 SDC HANA 实例 “H21” 进行了备份。 备份项页会将备份项名称显示为“h21(sdc)”。 如果尝试将此数据库还原到另一个目标 SDC(如 H11),则需要提供以下输入。
请注意以下几点:
- 默认情况下,还原的数据库名称将用备份项名称填充。 在本例中为
h21(sdc)。 - 选择 H11 作为目标不会自动更改已还原的数据库名称。 应将其编辑为“
h11(sdc)”。 对于 SDC,还原的数据库名称将是小写字母后跟用英文括号括起的“sdc”的目标实例 ID。 - 由于 SDC 只能包含一个数据库,因此还需要选择相应的复选框,以允许使用恢复点数据替代现有的数据库数据。
- Linux 区分大小写。 因此请小心保留大小写。
多容器数据库 (MDC) 还原
在 HANA 的多容器数据库中,标准配置是 SYSTEMDB 加上一个或多个租户数据库。 还原整个 SAP HANA 实例会还原 SYSTEMDB 和租户数据库。 首先还原 SYSTEMDB,然后再还原租户数据库。 系统数据库实质上旨在覆盖所选目标上的系统信息。 这种还原还会替代目标实例中与 BackInt 相关的信息。 因此,在将系统数据库还原到目标实例后,请再次运行注册前脚本。 只有这样,随后的租户数据库还原才会成功。
备份复制的 VM
方案 1
使用 Azure Site Recovery 或 Azure VM 备份复制原始 VM。 新 VM 是为模拟旧的 VM 而构建的。 也就是说,设置完全相同。 (这是因为原始 VM 已删除,并且已通过 VM 备份或 Azure Site Recovery 完成了还原)。
此方案可包含两种可能的情况。 了解如何在这两种情况下备份复制的 VM:
创建的新 VM 与已删除的 VM 同名,并且位于已删除的 VM 所属的资源组和订阅中。
- 此扩展已在 VM 中,但对所有服务都不可见
- 运行预注册脚本
- 在 Azure 门户中为同一计算机重新注册扩展(“备份”“查看详细信息”->“选择相关 Azure VM”-“重新注册”)
- 然后,现有的已备份数据库(源自已删除的 VM)应该会成功开始备份
创建的新 VM 会出现以下两种情况之一:
- 名称与已删除的 VM 不同
- 名称与已删除的 VM 相同,但其资源组或订阅与被删除的 VM 相比不同。
如果是这样,请执行以下步骤:
- 此扩展已在 VM 中,但对所有服务都不可见
- 运行预注册脚本
- 如果发现并保护新数据库,你将在门户中看到重复的活动数据库。 为避免出现这种情况,请对旧数据库停止保护并保留数据。 然后继续执行其余步骤。
- 探索数据库
- 对这些数据库启用备份
- 现有的已备份数据库(来自已删除的 VM)继续存储在保管库中。 这些数据库连同其保留的备份将根据策略一起存储。
方案 2
使用 Azure Site Recovery 或 Azure VM 备份复制原始 VM。 新 VM 是根据内容构建的 — 将用作模板。 该 VM 是新的,并具有新的 SID。
请按照以下步骤对新 VM 启用备份:
- 此扩展已在 VM 上,但对所有服务都不可见
- 运行预注册脚本。 根据新 VM 的 SID,可能会出现两种情况:
- 原始 VM 和新 VM 具有相同的 SID。 预注册脚本将成功运行。
- 原始 VM 和新 VM 具有不同的 SID。 预注册脚本将会失败。 请联系 Azure 支持人员以获取帮助解决这种情况。
- 发现要备份的数据库
- 对这些数据库启用备份
在同一 VM 上升级 SDC 版本或 MDC 版本
在不导致 SID 更改的情况下,OS 升级、SDC 版本更改或 MDC 版本更改可以按以下方式处理:
- 确保新的 OS 版本、SDC 或 MDC 版本当前受 Azure 备份支持
- 对数据库停止保护并保留数据
- 执行升级或更新
- 重新运行预注册脚本。 通常,升级过程可能会删除所需的角色。 运行预注册脚本以验证所有必需的角色。
- 再次恢复对数据库的保护
从 SDC 升级到 MDC(不更改 SID)
要从 SDC 升级到 MDC 而不导致 SID 更改,可以按如下方式进行处理:
- 确保新的 MDC 版本当前受 Azure 备份支持
- 对旧的 SDC 数据库停止保护,同时保留数据
- 执行升级。 完成后,HANA 系统现在便是包含一个系统 DB 和多个租户 DB 的 MDC
- 重新运行预注册脚本
- 在 Azure 门户中为同一计算机重新注册扩展(“备份”“查看详细信息”->“选择相关 Azure VM”-“重新注册”)
- 选择重新发掘数据库以匹配同一 VM。 此操作应将步骤 3 中的新 DB 显示为 SYSTEMDB 和租户 DB,而不是 SDC
- 旧的 SDC 数据库将继续位于保管库中,并根据策略保留旧的备份数据。
- 为这些数据库配置备份
从 SDC 升级到 MDC(更改 SID)
要从 SDC 升级到 MDC 并更改 SID,可以按如下方式进行处理:
- 确保新的 MDC 版本当前受 Azure 备份支持
- 对旧的 SDC 数据库停止保护并保留数据
- 移动位于 的 config.json 文件。
- 执行升级。 在完成后,HANA 系统现在便是包含一个系统 DB 和多个租户 DB 的 MDC。
- 重新运行具有正确详细信息(新 SID 和 MDC)的预注册脚本。 由于 SID 发生更改,你可能会遇到阻碍脚本成功运行的问题。 如果遇到问题,请联系 Azure 备份支持部门。
- 在 Azure 门户中为同一计算机重新注册扩展(“备份”-“查看详细信息”-> 选择相关 Azure VM -“重新注册”)。
- 针对同一个 VM,选择“Rediscover DBs”。 此操作应将步骤 3 中的新 DB 显示为 SYSTEMDB 和租户 DB,而不是 SDC。
- 旧的 SDC 数据库将继续位于保管库中,并根据策略保留旧的备份数据。
- 为这些数据库配置备份。
重新注册失败
在触发重新注册操作之前,请检查是否存在以下一种或多种症状:
VM 上所有操作(例如备份、还原和配置备份)都失败,并出现以下某一错误代码:WorkloadExtensionNotReachable、UserErrorWorkloadExtensionNotInstalled、WorkloadExtensionNotPresent、WorkloadExtensionDidntDequeueMsg。
如果备份项的“备份状态”区域显示“无法访问”,请排除可能导致相同状态的所有其他原因 :
- 缺少对 VM 执行与备份相关的操作的权限
- VM 已关闭,因此无法进行备份
- 网络问题
由于下面的一个或多个原因,可能会出现这些症状:
- 扩展已从门户网站中删除或卸载。
- 通过就地磁盘还原,VM 被恢复到过去的时间点。
- 该 VM 已关闭较长时间,因此其上的扩展配置已过期。
- VM 已删除。 另外,在已删除 VM 所在的同一资源组中创建了另一个同名的 VM。
在上述方案中,我们建议你对 VM 触发重新注册操作。
SAP HANA 数据库日志备份的常见问题
尽管完整备份成功,但日志备份未触发。
可能的原因:SAP HANA 数据库的值不正确,无法触发日志备份。
建议的操作:确保正确设置 SAP HANA 配置的以下值:
-
enable_auto_log_backup:Yes -
log_backup_using_backint:真 -
catalog_backup_using_backint:真 -
log_mode:正常 -
log_backup_timeout_s:与 Azure 门户的日志备份策略相同(频率以秒为单位)。
后续步骤
- 查看有关在 Azure VM 上备份 SAP HANA 数据库的常见问题解答。