DMSA user was missing the SysAdmin role in SQL.
From the installer log:
MSI (s) (EC:38) [09:22:03:400]: Invoking remote custom action. DLL: C:\WINDOWS\Installer\MSIB266.tmp, Entrypoint: CAQuietExec
CAQuietExec: Entering CAQuietExec in C:\WINDOWS\Installer\MSIB266.tmp, version 3.5.2403.0
CAQuietExec: "E:\AvayaAura\Software\JRE64\\bin\java" -cp "E:\AvayaAura\Software\FrameworkDB\Installer\resources\;E:\AvayaAura\Software\FrameworkDB\Installer\bin\*" -Djava.library.path="E:\AvayaAura\Software\FrameworkDB\Installer\bin" -DLOGFILEPATH="K:\AvayaAura\Data\Logs\Database\FrameworkDB" com.verint.db.installer.DBInstaller sqlhost="xxxxxxxxx" sqlport="1433" dbname="BPMAINDB" dbtype="MAIN" is_refresh_patch="true" product_version=15.1.0.38330 forcewinauth="false"
CAQuietExec: - Start of the DB Installer
CAQuietExec: - Using DMSA Credentials from Secured Content Store, overrides input parameters.
CAQuietExec: - Using IMSA Credentials from Secured Content Store, overrides input parameters.
CAQuietExec: - Program Abort
CAQuietExec: java.sql.SQLException: CREATE FUNCTION permission denied in database 'tempdb'.
CAQuietExec: at net.sourceforge.jtds.jdbc.SQLDiagnostic.addDiagnostic(SQLDiagnostic.java:372) ~
CAQuietExec: at net.sourceforge.jtds.jdbc.TdsCore.tdsErrorToken(TdsCore.java:2988) ~
CAQuietExec: at net.sourceforge.jtds.jdbc.TdsCore.nextToken(TdsCore.java:2421) ~
CAQuietExec: at net.sourceforge.jtds.jdbc.TdsCore.getMoreResults(TdsCore.java:677) ~
CAQuietExec: at net.sourceforge.jtds.jdbc.JtdsStatement.processResults(JtdsStatement.java:613) ~
CAQuietExec: at net.sourceforge.jtds.jdbc.JtdsStatement.executeSQL(JtdsStatement.java:572) ~
CAQuietExec: at net.sourceforge.jtds.jdbc.JtdsStatement.executeImpl(JtdsStatement.java:809) ~
CAQuietExec: at net.sourceforge.jtds.jdbc.JtdsStatement.execute(JtdsStatement.java:1282) ~
CAQuietExec: at com.verint.db.installer.DBRunner$$anonfun$runSQL$3.apply