你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

适用于 Azure 的 SAP LaMa 连接器

许多客户使用 SAP 横向管理(LaMa)来操作和监视其 SAP 环境。 自版本 3.0 SP05 起,SAP LaMa 默认包含向 Azure 的连接器。 可以使用此连接器解除分配和启动虚拟机(VM)、复制和重新定位托管磁盘以及删除托管磁盘。 使用这些基本操作,可以使用 SAP LaMa 重新定位、复制、克隆和刷新 SAP 系统。

本指南介绍如何为 Azure 设置 SAP LaMa 连接器。 它还介绍如何创建和配置可用于安装自适应 SAP 系统的虚拟机。

注意

连接器仅在 SAP LaMa 企业版中可用。

资源

以下 SAP 说明与 Azure 上的 SAP LaMa 主题相关:

说明文档编号 标题
2343511 用于 SAP Landscape Management (LaMa) 的 Microsoft Azure 连接器
2350235 SAP 横向管理 3.0 - 企业版

可以在 SAP LaMa 的 SAP 帮助门户中找到详细信息

注意

如果需要对 SAP LaMa 或 Azure 的连接器的支持,请在组件 BC-VCM-LVM-HYPERV 上打开 SAP 事件。

一般备注

  • 请务必在安装程序>中启用自动装入点创建设置>Engine。

    如果 SAP LaMa 在虚拟机上使用 SAP 自适应扩展(SAPACEXT)装载卷,则如果未启用此设置,则必须存在装入点。

  • 使用单独的子网,在部署新 VM 和 SAP 实例时,不要使用动态 IP 地址来防止 IP 地址“窃取”。

    如果在 SAP LaMa 也使用的子网中使用动态 IP 地址分配,则使用 SAP LaMa 准备 SAP 系统可能会失败。 如果未准备好 SAP 系统,IP 地址将不会保留,可能会分配到其他虚拟机。

  • 如果登录到托管主机,请不要阻止文件系统卸载。

    如果登录到 Linux 虚拟机并将工作目录更改为装入点中的目录(例如 /usr/sap/AH1/ASCS00/exe),则无法卸载卷,重定位或未准备操作将失败。

  • 请务必在 SU标准版 SLES Linux 虚拟机上禁用CLOUD_NETCONFIG_MANAGE。 有关详细信息,请参阅 SUSE KB 7023633

为 Azure 设置 SAP LaMa 连接器

从版本 3.0 SP05 起,Azure 的连接器包含在 SAP LaMa 中。 我们建议始终为 SAP LaMa 3.0 安装最新的支持包和修补程序。

Azure 的连接器使用 Azure 资源管理器 API 来管理 Azure 资源。 SAP LaMa 可以使用服务主体或托管标识对此 API 进行身份验证。 如果 SAP LaMa 实例在 Azure VM 上运行,建议使用托管标识。

使用服务主体获取对 Azure API 的访问权限

按照以下步骤为适用于 Azure 的 SAP LaMa 连接器创建服务主体:

  1. 转到 Azure 门户
  2. 打开 “Microsoft Entra ID ”窗格。
  3. 选择“应用注册” 。
  4. 选择“新注册”。
  5. 输入名称,然后选择“ 注册”。
  6. 选择新应用,然后在“设置”选项卡上,选择“证书和机密”。
  7. 创建新的客户端密码,输入新密钥的说明,选择机密何时过期,然后选择“ 保存”。
  8. 记下此值。 你将使用它作为服务主体的密码。
  9. 记下应用程序 ID。 你将使用它作为服务主体的用户名。

默认情况下,服务主体无权访问 Azure 资源。 将参与者角色分配给资源组范围内包含 SAP LaMa 应管理的 SAP 系统的所有资源组的服务主体。 有关详细步骤,请参阅使用 Azure 门户分配 Azure 角色

使用托管标识获取对 Azure API 的访问权限

为了能够使用托管标识,SAP LaMa 实例必须在具有系统分配或用户分配标识的 Azure VM 上运行。 有关托管标识的详细信息,请阅读什么是 Azure 资源的托管标识?以及使用 Azure 门户 为 VM 上的 Azure 资源配置托管标识。

默认情况下,托管标识无权访问 Azure 资源。 将参与者角色分配给资源组范围内包含 SAP LaMa 应管理的 SAP 系统的所有资源组的 VM 标识。 有关详细步骤,请参阅使用 Azure 门户分配 Azure 角色

在 Azure 的 SAP LaMa 连接器配置中,选择“ 使用托管标识 ”以启用托管标识的使用。 如果要使用系统分配的标识,请将“用户名字段留空。 如果要使用用户分配的标识,请在“用户名”字段中输入其 ID

在 SAP LaMa 中创建新的连接器

打开 SAP LaMa 网站并转到 基础结构。 在 “云管理器 ”选项卡上,选择“ 添加”。 选择 Microsoft Azure 云适配器,然后选择“ 下一步”。 输入以下信息:

  • 标签:选择连接器实例的名称。

  • 用户名:输入服务主体应用程序 ID 或虚拟机的用户分配标识的 ID。

  • 密码:输入服务主体密钥/密码。 如果使用系统分配的标识或用户分配的标识,则可以将此字段留空。

  • URL:保留默认值 https://management.azure.com/

  • 监视间隔(秒):输入至少 300 个间隔。

  • 使用托管标识:选择使 SAP LaMa 能够使用系统分配的标识或用户分配的标识对 Azure API 进行身份验证。

  • 订阅 ID:输入 Azure 订阅 ID。

  • Microsoft Entra 租户 ID:输入 Active Directory 租户的 ID。

  • 代理主机:如果 SAP LaMa 需要代理才能连接到 Internet,请输入代理的主机名。

  • 代理端口:输入代理的 TCP 端口。

  • 更改存储类型以节省成本:如果 Azure 适配器应更改托管磁盘的存储类型,以便在磁盘未使用时节省成本,请启用此设置。

    对于 SAP 实例配置中引用的数据磁盘,适配器在实例未准备操作期间将磁盘类型更改为标准存储,并在实例准备操作期间重新更改为原始存储类型。

    如果在 SAP LaMa 中停止虚拟机,适配器会将所有附加磁盘(包括 OS 磁盘)的存储类型更改为标准存储。 如果在 SAP LaMa 中启动虚拟机,适配器会将存储类型更改回原始存储类型。

选择“测试配置”以验证输入。 应在网站底部看到以下消息:

“连接成功:成功连接到 Microsoft 云。 找到 7 个资源组(仅请求了 10 个组)。

预配新的自适应 SAP 系统

可以手动部署新虚拟机,或使用快速入门存储库中的 Azure 模板之一。 存储库包含 SAP NetWeaver ASCSSAP NetWeaver 应用程序服务器数据库的模板。 还可以使用这些模板在系统复制、克隆或类似活动中预配新主机。

建议对要通过 SAP LaMa 管理的所有虚拟机使用单独的子网。 我们还建议在部署新虚拟机和 SAP 实例时不要使用动态 IP 地址来防止 IP 地址“窃取”。

注意

如果可能,请删除所有虚拟机扩展。 它们可能会导致长时间的运行时从虚拟机分离磁盘。

确保用户 <hanasid>adm、user< sapsid>adm 和组 sapsys 存在于具有相同 ID 和组 ID 的目标计算机上,或使用 LDAP。 在应用于运行 SAP NetWeaver ABAP Central Services (ASCS) 或 SAP Central Services (SCS) 的虚拟机上启用和启动网络文件共享 (NFS) 服务器。

手动部署

SAP LaMa 使用 SAP 主机代理与虚拟机通信。 如果手动部署虚拟机或使用快速入门存储库中的 Azure 资源管理器 模板,请确保安装最新的 SAP 主机代理和 SAP 自适应扩展。 有关 Azure 所需的修补程序级别的详细信息,请参阅 SAP 说明 2343511

手动部署 Linux 虚拟机

使用 SAP 说明 2343511中列出的受支持的操作系统之一创建新的虚拟机。 为 SAP 实例添加更多 IP 配置。 每个实例至少需要一个 IP 地址,并且必须使用虚拟主机名进行安装。

SAP NetWeaver ASCS 实例需要 /sapmnt/SAPSID、/usr/<sap/<SAPSID>>、/usr/sap/trans/usr/sap/sapsid>< adm 的磁盘 SAP NetWeaver 应用程序服务器不需要更多磁盘。 与 SAP 实例相关的所有内容都必须存储在 ASCS 上,并通过 NFS 导出。 否则,当前无法使用 SAP LaMa 添加更多应用程序服务器。

Diagram that shows SAP NetWeaver ASCS on Linux.

SAP HANA 的手动部署

使用 SAP HANA 支持的操作系统之一创建新虚拟机,如 SAP 说明 2343511中所列。 为 SAP HANA 和每个 HANA 租户添加一个额外的 IP 配置。

SAP HANA 需要 /hana/shared、/hana/backup/hana/data/hana/log 的磁盘

Diagram that shows SAP HANA on Linux.

Linux 上的 Oracle 数据库的手动部署

使用 Oracle 数据库支持的操作系统之一创建新虚拟机,如 SAP 说明 2343511中所列。 为 Oracle 数据库添加一个额外的 IP 配置。

Oracle 数据库需要 /oracle/home/oraod1/home/oracle磁盘。

Diagram that shows an Oracle database on Linux and the disks it needs.

Microsoft SQL Server 的手动部署

使用 Microsoft SQL Server 支持的操作系统之一创建新的虚拟机,如 SAP 说明 2343511中所列。 为 SQL Server 实例添加一个额外的 IP 配置。

SQL Server 数据库服务器需要数据库数据和日志文件的磁盘。 它还需要 c:\usr\sap磁盘。

Diagram that shows an Oracle database on Linux.

请务必在要用作重定位 SAP NetWeaver 应用程序服务器或系统复制/克隆目标的虚拟机上安装受支持的 Microsoft ODBC 驱动程序 for SQL Server。 SAP LaMa 无法重新定位 SQL Server 本身,因此要用于这些目的的虚拟机需要预先安装 SQL Server。

使用 Azure 模板部署虚拟机

适用于虚拟机操作系统的 SAP 软件下载中心 下载以下最新可用存档:

  • SAPCAR 7.21
  • SAP 主机代理 7.21
  • SAP 自适应扩展 1.0 EXT

另请从 Microsoft 下载中心下载以下组件:

  • Microsoft Visual C++ 2010 Redistributable Package (x64)(仅适用于 Windows)
  • Microsoft ODBC Driver for SQL Server(仅适用于 SQL Server)

模板部署需要组件。 使其可供模板使用的最简单方法是将其上传到 Azure 存储帐户并创建共享访问签名(SAS)。

模板具有以下参数:

  • sapSystemId:SAP 系统 ID (SID)。 它用于创建磁盘布局(例如 /usr/sap/<sapsid>)。

  • computerName:新虚拟机的计算机名称。 SAP LaMa 也使用此参数。 使用此模板将新虚拟机预配为系统副本的一部分时,SAP LaMa 会一直等到可以访问具有此计算机名的主机为止。

  • osType:要部署的操作系统的类型。

  • dbtype:数据库的类型。 此参数用于确定需要添加多少额外的 IP 配置以及磁盘布局的外观。

  • sapSystemSize:要部署的 SAP 系统的大小。 它用于确定虚拟机实例的类型和大小。

  • adminUsername:虚拟机的用户名。

  • adminPassword:虚拟机的密码。 也可以提供 SSH 的公钥。

  • sshKeyData:虚拟机的公钥。 它仅适用于 Linux 操作系统。

  • subnetId:要使用的子网的 ID。

  • deployEmptyTarget:如果要将虚拟机用作实例重定位的目标或类似内容,则可以部署该空目标。 在这种情况下,无需附加其他磁盘或 IP 配置。

  • sapcarLocation:与部署的操作系统匹配的 SAPCAR 应用程序的位置。 SAPCAR 用于提取在其他参数中提供的存档。

  • sapHostAgentArchiveLocation:SAP 主机代理存档的位置。 SAP 主机代理作为此模板部署的一部分进行部署。

  • sapacExtLocation:SAP 自适应扩展的位置。 SAP 说明 2343511 列出了 Azure 所需的最低修补程序级别。

  • vcRedistLocation:安装 SAP 自适应扩展所需的 Variant 配置运行时的位置。 此参数仅适用于 Windows。

  • odbcDriverLocation:要安装的 ODBC 驱动程序的位置。 仅支持适用于 SQL Server 的 Microsoft ODBC 驱动程序。

  • sapadmPassword:sapadm 用户的密码

  • sapadmId:sapadm 用户的 Linux 用户 ID。 Windows 不需要它。

  • sapsysGid:sapsys 组的 Linux 组 ID。 Windows 不需要它。

  • _artifactsLocation:基本 URI,其中包含此模板所需的项目。 使用随附的脚本部署模板时,将使用订阅中的专用位置,并自动生成此值。 仅当未从 GitHub 部署模板时,才需要此 URI。

  • _artifactsLocationSasToken:访问 _artifactsLocation所需的 SAS 令牌。 使用随附的脚本部署模板时,将自动生成 SAS 令牌。 仅当未从 GitHub 部署模板时,才需要此令牌。

SAP HANA

以下示例假定使用 SID HN1 和 SID AH1 的 SAP NetWeaver 系统安装 SAP HANA 系统。 虚拟主机名为:

  • HANA 实例的 hn1-db
  • SAP NetWeaver 系统使用的 HANA 租户 ah1-db
  • 适用于 SAP NetWeaver ASCS 的 ah1-ascs
  • 第一个 SAP NetWeaver 应用程序服务器的 ah1-di-0

使用 Azure 托管磁盘安装 SAP NetWeaver ASCS for SAP HANA

在启动 SAP 软件预配管理器(SWPM)之前,需要装载 ASCS 虚拟主机名的 IP 地址。 建议的方法是使用 SAPACEXT。 如果使用 SAPACEXT 装载 IP 地址,请务必在重新启动后重新装载 IP 地址。

Linux logo. Linux

# /usr/sap/hostctrl/exe/sapacext -a ifup -i <network interface> -h <virtual hostname or IP address> -n <subnet mask>
/usr/sap/hostctrl/exe/sapacext -a ifup -i eth0 -h ah1-ascs -n 255.255.255.128

Windows logo. Windows

# C:\Program Files\SAP\hostctrl\exe\sapacext.exe -a ifup -i <network interface> -h <virtual hostname or IP address> -n <subnet mask>
C:\Program Files\SAP\hostctrl\exe\sapacext.exe -a ifup -i "Ethernet 3" -h ah1-ascs -n 255.255.255.128

运行 SWPM。 对于 ASCS 实例主机名,请使用 ah1-ascs

Linux logo. Linux

将以下配置文件参数添加到位于 /usr/sap/hostctrl/exe/host_profile 的 SAP 主机代理配置文件。 有关详细信息,请参阅 SAP 说明 2628497

acosprep/nfs_paths=/home/ah1adm,/usr/sap/trans,/sapmnt/AH1,/usr/sap/AH1

在 Azure NetApp 文档 上安装 SAP NetWeaver ASCS for SAP HANA

Azure NetApp 文档为 Azure 提供 NFS。 在 SAP LaMa 的上下文中,这简化了 ASCS 实例的创建和应用程序服务器的后续安装。 以前,ASCS 实例还必须充当 NFS 服务器,并且必须将参数 acosprep/nfs_paths 添加到 SAP 主机代理的主机配置文件中。

网络要求

Azure NetApp 文档需要委托的子网,该子网必须与 SAP 服务器属于同一虚拟网络。 下面是此类配置的示例:

  1. 创建虚拟网络和第一个子网。

    Screenshot that shows selections for creating a virtual network for Azure NetApp Files.

  2. Microsoft.NetApp/volumes 创建委托子网。

    Screenshot that shows selections for adding a delegated subnet.

    Screenshot that shows a list of subnets.

  3. 在Azure 门户中创建 NetApp 帐户。

    Screenshot that shows selections for creating a NetApp account.

    Screenshot that shows a created LaMa NetApp account.

    在 NetApp 帐户中,容量池指定每个池的大小和磁盘类型。

    Screenshot that shows selections for creating a NetApp capacity pool.

    Screenshot that shows a created NetApp capacity pool.

  4. 定义 NFS 卷。

    由于一个池可能包含多个系统的卷,因此请选择一个自我解释的命名方案。 添加 SID 有助于将相关卷组合在一起。

    对于 ASCS 和 AS 实例,需要以下装载:/sapmnt/<SID>/usr/sap/<SID 和 /home/<sid>> adm。 (可选)需要 中央传输目录的 /usr/sap/trans ,该目录至少由一个布局的所有系统使用。

    Screenshot that shows basic details for creating a volume.

    Screenshot that shows protocol details for creating a volume.

    Screenshot that shows the tab for reviewing details before creating a volume.

  5. 对其他卷重复上述步骤。

    Screenshot that shows a list of created volumes.

  6. 将卷装载到执行 SAP SWPM 初始安装的系统:

    1. 创建装载点。 在这种情况下,SID 为 AN1,因此请运行以下命令:

      mkdir -p /home/an1adm
      mkdir -p /sapmnt/AN1
      mkdir -p /usr/sap/AN1
      mkdir -p /usr/sap/trans
      
    2. 使用以下命令装载Azure NetApp 文档卷:

      # sudo mount -t nfs -o rw,hard,rsize=65536,wsize=65536,vers=3,tcp 9.9.9.132:/an1-home-sidadm /home/an1adm
      # sudo mount -t nfs -o rw,hard,rsize=65536,wsize=65536,vers=3,tcp 9.9.9.132:/an1-sapmnt-sid /sapmnt/AN1
      # sudo mount -t nfs -o rw,hard,rsize=65536,wsize=65536,vers=3,tcp 9.9.9.132:/an1-usr-sap-sid /usr/sap/AN1
      # sudo mount -t nfs -o rw,hard,rsize=65536,wsize=65536,vers=3,tcp 9.9.9.132:/global-usr-sap-trans /usr/sap/trans
      

      还可以从门户查找装载命令。 需要调整本地装入点。

    3. 运行 df -h 命令。 检查输出以验证是否已正确装载卷。

      Screenshot of OS-level mount points in output.

  7. 使用 SWPM 执行安装。 必须至少对一个 AS 实例执行相同的步骤。

    成功安装后,必须在 SAP LaMa 中发现系统。 装入点应类似于 ASCS 和 AS 实例的以下屏幕截图。

    Screenshot that shows SAP LaMa mount points.

    注意

    下面是一个示例。 IP 地址和导出路径与之前使用的 IP 地址和导出路径不同。

安装 SAP HANA

如果使用 SAP HANA 数据库生命周期管理器(HDBLCM)命令行工具安装 SAP HANA,请使用 --hostname 参数提供虚拟主机名。

将数据库的虚拟主机名的 IP 地址添加到网络接口。 建议的方法是使用 SAPACEXT。 如果使用 SAPACEXT 装载 IP 地址,请务必在重新启动后重新装载 IP 地址。

为应用程序服务器用来连接到 HANA 租户的名称添加另一个虚拟主机名和 IP 地址:

# /usr/sap/hostctrl/exe/sapacext -a ifup -i <network interface> -h <virtual hostname or IP address> -n <subnet mask>
/usr/sap/hostctrl/exe/sapacext -a ifup -i eth0 -h hn1-db -n 255.255.255.128
/usr/sap/hostctrl/exe/sapacext -a ifup -i eth0 -h ah1-db -n 255.255.255.128

在应用程序服务器 VM 而不是 HANA VM 上运行 SWPM 的数据库实例安装。 在 “数据库 for SAP 系统 ”对话框中,对于 数据库主机,请使用 ah1-db

安装 SAP HANA 的 SAP NetWeaver 应用程序服务器

在启动 SWPM 之前,需要装载应用程序服务器的虚拟主机名的 IP 地址。 建议的方法是使用 SAPACEXT。 如果使用 SAPACEXT 装载 IP 地址,请务必在重新启动后重新装载 IP 地址。

Linux logo. Linux

# /usr/sap/hostctrl/exe/sapacext -a ifup -i <network interface> -h <virtual hostname or IP address> -n <subnet mask>
/usr/sap/hostctrl/exe/sapacext -a ifup -i eth0 -h ah1-di-0 -n 255.255.255.128

Windows logo. Windows

# C:\Program Files\SAP\hostctrl\exe\sapacext.exe -a ifup -i <network interface> -h <virtual hostname or IP address> -n <subnet mask>
C:\Program Files\SAP\hostctrl\exe\sapacext.exe -a ifup -i "Ethernet 3" -h ah1-di-0 -n 255.255.255.128

建议使用 SAP NetWeaver 配置文件参数 dbs/hdb/hdb_use_ident 设置用于在 SAP HANA 用户存储(hdbuserstore)中查找密钥的标识。 可以使用 SWPM 在数据库实例安装后手动添加此参数,或者使用以下代码运行 SWPM:

# from https://blogs.sap.com/2015/04/14/sap-hana-client-software-different-ways-to-set-the-connectivity-data/
/sapdb/DVDs/IM_LINUX_X86_64/sapinst HDB_USE_IDENT=SYSTEM_COO

如果手动设置,则还需要创建新的 hdbuserstore 条目:

# run as <sapsid>adm
/usr/sap/AH1/hdbclient/hdbuserstore LIST
# reuse the port that was listed from the command above, in this example 35041
/usr/sap/AH1/hdbclient/hdbuserstore SET DEFAULT ah1-db:35041@AH1 SAPABAP1 <password>

“主应用程序服务器实例 ”对话框中,对于 PAS 实例主机名,请使用 ah1-di-0

SAP HANA 的安装后步骤

在尝试复制租户、移动租户或创建系统副本 (replica)之前,先备份 SYSTEMDB 和所有租户数据库。

Microsoft SQL Server

以下示例假定使用 SID AS1 安装 SAP NetWeaver 系统。 虚拟主机名为:

  • SAP NetWeaver 系统使用的 SQL Server 实例的 as1-db
  • SAP NetWeaver ASCS 的 as1-ascs
  • 第一个 SAP NetWeaver 应用程序服务器的 as1-di-0

安装 SQL Server 的 SAP NetWeaver ASCS

在启动 SWPM 之前,需要装载 ASCS 虚拟主机名的 IP 地址。 建议的方法是使用 SAPACEXT。 如果使用 SAPACEXT 装载 IP 地址,请务必在重新启动后重新装载 IP 地址。

# C:\Program Files\SAP\hostctrl\exe\sapacext.exe -a ifup -i <network interface> -h <virtual hostname or IP address> -n <subnet mask>
C:\Program Files\SAP\hostctrl\exe\sapacext.exe -a ifup -i "Ethernet 3" -h as1-ascs -n 255.255.255.128

运行 SWPM。 对于 ASCS 实例主机名,请使用 as1-ascs

安装 SQL Server

在启动 SWPM 之前,需要将数据库的虚拟主机名的 IP 地址添加到网络接口。 建议的方法是使用 SAPACEXT。 如果使用 SAPACEXT 装载 IP 地址,请务必在重新启动后重新装载 IP 地址。

# C:\Program Files\SAP\hostctrl\exe\sapacext.exe -a ifup -i <network interface> -h <virtual hostname or IP address> -n <subnet mask>
C:\Program Files\SAP\hostctrl\exe\sapacext.exe -a ifup -i "Ethernet 3" -h as1-db -n 255.255.255.128

在 SQL Server 虚拟机上运行 SWPM 的数据库实例安装。 用于 SAPINST_USE_HOSTNAME=as1-db 替代用于连接到 SQL Server 的主机名。 如果使用 Azure 资源管理器 模板部署虚拟机,请将用于数据库数据文件的目录设置为 C:\sql\data,并将数据库日志文件设置为 C:\sql\log

确保用户 NT AUTHORITY\SYSTEM 有权访问 SQL Server 实例,并且具有服务器角色 sysadmin。 有关详细信息,请参阅 SAP 说明 18777272562184

安装 SAP NetWeaver 应用程序服务器

在启动 SWPM 之前,需要装载应用程序服务器的虚拟主机名的 IP 地址。 建议的方法是使用 SAPACEXT。 如果使用 SAPACEXT 装载 IP 地址,请务必在重新启动后重新装载 IP 地址。

# C:\Program Files\SAP\hostctrl\exe\sapacext.exe -a ifup -i <network interface> -h <virtual hostname or IP address> -n <subnet mask>
C:\Program Files\SAP\hostctrl\exe\sapacext.exe -a ifup -i "Ethernet 3" -h as1-di-0 -n 255.255.255.128

“主应用程序服务器实例 ”对话框中,对于 PAS 实例主机名,请使用 as1-di-0

疑难解答

发现期间的错误和警告

  • 标准版LECT 权限被拒绝。
    • 错误:

      [Microsoft][ODBC SQL Server Driver][SQL Server]The SELECT permission was denied on the object 'log_shipping_primary_databases', database 'msdb', schema 'dbo'. [SOAPFaultException] The SELECT permission was denied on the object 'log_shipping_primary_databases', database 'msdb', schema 'dbo'.

    • 解决方案:确保 NT AUTHORITY\SYSTEM 可以访问 SQL Server 实例。 请参阅 SAP 说明 2562184

实例验证期间的错误和警告

  • hdbuserstore 验证中引发了异常。 请参阅日志查看器。
    • 原因com.sap.nw.lm.aci.monitor.api.validation

    • 错误:

      RuntimeValidationException

      Exception in validator with ID 'RuntimeHDBConnectionValidator' (Validation: 'VALIDATION_HDB_USERSTORE'): Could not retrieve the hdbuserstore
      HANA userstore is not in the correct location

    • 解决方案:确保 /usr/sap/AH1/hdbclient/install/installation.ini 正确。

系统副本期间的错误和警告

  • 验证系统预配步骤时出错。

    • 原因com.sap.nw.lm.aci.engine.base.api.util.exception

    • 错误:

      HAOperationException

      Calling '/usr/sap/hostctrl/exe/sapacext -a ShowHanaBackups -m HN1 -f 50 -h hn1-db -o level=0\;status=5\;port=35013 pf=/usr/sap/hostctrl/exe/host_profile -R -T dev_lvminfo -u SYSTEM -p hook -r' | /usr/sap/hostctrl/exe/sapacext -a ShowHanaBackups -m HN1 -f 50 -h hn1-db -o level=0\;status=5\;port=35013 pf=/usr/sap/hostctrl/exe/host_profile -R -T dev_lvminfo -u SYSTEM -p hook -r

    • 解决方案:备份源 HANA 系统中的所有数据库。

  • 在数据库实例的系统复制 “开始 ”步骤中出错。

    • 错误:

      Host Agent Operation '000D3A282BC91EE8A1D76CF1F92E2944' failed (OperationException. FaultCode: '127', Message: 'Command execution failed. : [Microsoft][ODBC SQL Server Driver][SQL Server]User does not have permission to alter database 'AS2', the database does not exist, or the database is not in a state that allows access checks.')

    • 解决方案:确保 NT AUTHORITY\SYSTEM 可以访问 SQL Server 实例。 请参阅 SAP 说明 2562184

系统克隆期间的错误和警告

  • 尝试在应用程序服务器或 ASCS 的 强制注册和启动实例代理步骤中注册实例代理 时出错。

    • 错误:

      Error occurred when trying to register instance agent. (RemoteException: 'Failed to load instance data from profile '\\as1-ascs\sapmnt\AS1\SYS\profile\AS1_D00_as1-di-0': Cannot access profile '\\as1-ascs\sapmnt\AS1\SYS\profile\AS1_D00_as1-di-0': No such file or directory.')

    • 解决方案:确保 ASCS/SCS 上的 sapmnt 共享具有对SAP_AS1_Global管理员的完全访问权限。

  • 在“为克隆启用启动保护”步骤中出错。

    • 错误:

      Failed to open file '\\as1-ascs\sapmnt\AS1\SYS\profile\AS1_D00_as1-di-0' Cause: No such file or directory

    • 解决方案:应用程序服务器的计算机帐户需要对配置文件进行写入访问。

创建系统副本 (replica)期间的错误和警告

  • 选择“创建系统复制时引发了异常。

    • 原因com.sap.nw.lm.aci.engine.base.api.util.exception

    • 错误:

      HAOperationException

      Calling '/usr/sap/hostctrl/exe/sapacext -a ShowHanaBackups -m HN1 -f 50 -h hn1-db -o level=0\;status=5\;port=35013 pf=/usr/sap/hostctrl/exe/host_profile -R -T dev_lvminfo -u SYSTEM -p hook -r' | /usr/sap/hostctrl/exe/sapacext -a ShowHanaBackups -m HN1 -f 50 -h hn1-db -o level=0\;status=5\;port=35013 pf=/usr/sap/hostctrl/exe/host_profile -R -T dev_lvminfo -u SYSTEM -p hook -r

    • 解决方案:测试 SAPACEXT 是否可以作为 <hanasid>adm 执行。

  • 在存储步骤中未启用完整复制时出错。

    • 错误:

      An error occurred when reporting a context attribute message for path IStorageCopyData.storageVolumeCopyList:1 and field targetStorageSystemId

    • 解决方案:忽略步骤中的警告,然后重试。 此问题已在 SAP LaMa 的支持包/修补程序中修复。

重定位期间的错误和警告

  • NFS 重新导出不允许路径 /usr/sap/AH1

    • 解决方案:将 ASCS 导出添加到 ASCS 主机代理配置文件。 请参阅 SAP 说明 2628497
  • 在重新定位 ASCS 时未实现函数。

    • 命令输出

      exportfs: host:/usr/sap/AX1: Function not implemented

    • 解决方案:确保目标虚拟机上启用了 NFS 服务器服务进行重定位。

应用程序服务器安装期间的错误和警告

  • 执行 SAPinst getProfileDir 步骤时出错。

    • 错误:

      Last error reported by the step: Caught ESAPinstException in module call: Validator of step '|NW_DI|ind|ind|ind|ind|0|0|NW_GetSidFromProfiles|ind|ind|ind|ind|getSid|0|NW_readProfileDir|ind|ind|ind|ind|readProfile|0|getProfileDir' reported an error: Node \\\as1-ascs\sapmnt\AS1\SYS\profile does not exist. Start SAPinst in interactive mode to solve this problem

    • 解决方案:确保 SWPM 与有权访问配置文件的用户一起运行。 可以在应用程序服务器安装向导中配置此用户。

  • 执行 SAPinst askUnicode 步骤时出错。

    • 错误:

      Last error reported by the step: Caught ESAPinstException in module call: Validator of step '|NW_DI|ind|ind|ind|ind|0|0|NW_GetSidFromProfiles|ind|ind|ind|ind|getSid|0|NW_getUnicode|ind|ind|ind|ind|unicode|0|askUnicode' reported an error: Start SAPinst in interactive mode to solve this problem

    • 解决方案:如果使用最近的 SAP 内核,SWPM 无法使用 ASCS 的消息服务器来确定系统是否不再是 Unicode 系统。 请参阅 SAP 说明 2445033

      在 SAP LaMa 的新支持包/修补程序中修复此问题之前,请通过在 SAP 系统的默认配置文件中设置配置文件参数 OS_UNICODE=uc 来解决此问题。

  • 执行 SAPinst dCheckGivenServer" version="1.0" 步骤时出错。

    • 错误:

      Last error reported by the step: Installation was canceled by user.

    • 解决方案:确保 SWPM 与有权访问配置文件的用户一起运行。 可以在应用程序服务器安装向导中配置此用户。

  • 执行 SAPinst checkClient" version="1.0" 步骤时出错。

    • 错误:

      Last error reported by the step: Installation was canceled by user.

    • 解决方案:确保在要安装应用程序服务器的虚拟机上安装用于 SQL Server 的 Microsoft ODBC 驱动程序。

  • 执行 SAPinst copyScripts 步骤时出错。

    • 错误:

      Last error reported by the step: System call failed. DETAILS: Error 13 (0x0000000d) (Permission denied) in execution of system call 'fopenU' with parameter (\\\as1-ascs/sapmnt/AS1/SYS/exe/uc/NTAMD64/strdbs.cmd, w), line (494) in file (\bas/bas/749_REL/bc_749_REL/src/ins/SAPINST/impl/src/syslib/filesystem/syxxcfstrm2.cpp), stack trace: CThrThread.cpp: 85: CThrThread::threadFunction() CSiServiceSet.cpp: 63: CSiServiceSet::executeService() CSiStepExecute.cpp: 913: CSiStepExecute::execute() EJSController.cpp: 179: EJSControllerImpl::executeScript() JSExtension.hpp: 1136: CallFunctionBase::call() iaxxcfile.cpp: 183: iastring CIaOsFileConnect::callMemberFunction(iastring const& name, args_t const& args) iaxxcfile.cpp: 1849: iastring CIaOsFileConnect::newFileStream(args_t const& _args) iaxxbfile.cpp: 773: CIaOsFile::newFileStream_impl(4) syxxcfile.cpp: 233: CSyFileImpl::openStream(ISyFile::eFileOpenMode) syxxcfstrm.cpp: 29: CSyFileStreamImpl::CSyFileStreamImpl(CSyFileStream*,iastring,ISyFile::eFileOpenMode) syxxcfstrm.cpp: 265: CSyFileStreamImpl::open() syxxcfstrm2.cpp: 58: CSyFileStream2Impl::CSyFileStream2Impl(const CSyPath & \\\aw1-ascs/sapmnt/AW1/SYS/exe/uc/NTAMD64/strdbs.cmd, 0x4) syxxcfstrm2.cpp: 456: CSyFileStream2Impl::open()

    • 解决方案:确保 SWPM 与有权访问配置文件的用户一起运行。 可以在应用程序服务器安装向导中配置此用户。

  • 执行 SAPinst askPasswords 步骤时出错。

    • 错误:

      Last error reported by the step: System call failed. DETAILS: Error 5 (0x00000005) (Access is denied.) in execution of system call 'NetValidatePasswordPolicy' with parameter (...), line (359) in file (\bas/bas/749_REL/bc_749_REL/src/ins/SAPINST/impl/src/syslib/account/synxcaccmg.cpp), stack trace: CThrThread.cpp: 85: CThrThread::threadFunction() CSiServiceSet.cpp: 63: CSiServiceSet::executeService() CSiStepExecute.cpp: 913: CSiStepExecute::execute() EJSController.cpp: 179: EJSControllerImpl::executeScript() JSExtension.hpp: 1136: CallFunctionBase::call() CSiStepExecute.cpp: 764: CSiStepExecute::invokeDialog() DarkModeGuiEngine.cpp: 56: DarkModeGuiEngine::showDialogCalledByJs() DarkModeDialog.cpp: 85: DarkModeDialog::submit() EJSController.cpp: 179: EJSControllerImpl::executeScript() JSExtension.hpp: 1136: CallFunctionBase::call() iaxxcaccount.cpp: 107: iastring CIaOsAccountConnect::callMemberFunction(iastring const& name, args_t const& args) iaxxcaccount.cpp: 1186: iastring CIaOsAccountConnect::validatePasswordPolicy(args_t const& _args) iaxxbaccount.cpp: 430: CIaOsAccount::validatePasswordPolicy_impl() synxcaccmg.cpp: 297: ISyAccountMgt::PasswordValidationMessage CSyAccountMgtImpl::validatePasswordPolicy(saponazure,*****) const

    • 解决方案:在隔离步骤中添加主机规则,以允许从 VM 到域控制器的通信。

后续步骤