Monday, February 26, 2018

Synchronize the database manually - Dynamics 365 for Finance & Operations On Premises Installation

Hi All

Sometime in a D365FO On Premise deployment the Sync doesn't triggered!

What to do?

You can run the Database Sync manually as per the "Copy a Finance and Operations database from SQL Server to a production Azure SQL Database environment" procedure.

In an On Premise change a little bit.

The steps are:
  1. Connect to RDP to an AOS Node
  2. Open the PowerShell ISE
  3. Copy the script below and change the Bold part as per your environment
  4. In that case my package name is "K"

cd C:\ProgramData\SF\AOS_XX\Fabric\work\Applications\AXSFType_App164\AXSF.Code.1.0.0.20171212_K.zip.0\Packages\bin

.\Microsoft.Dynamics.AX.Deployment.Setup.exe -bindir "C:\ProgramData\SF\AOS_3\Fabric\work\Applications\AXSFType_App164\AXSF.Code.1.0.0.20171212_K.zip.0\Packages" -metadatadir "C:\ProgramData\SF\AOS_3\Fabric\work\Applications\AXSFType_App164\AXSF.Code.1.0.0.20171212_K.zip.0\Packages" -sqluser "axdbadmin" -sqlserver "FQDN SQL instance" -sqldatabase "axdb" -setupmode "sync" -syncmode "fullall" -isazuresql "false" -sqlpwd "password"

Enjoy with D365FO On Premise!

Update: This behaviour is related to the sf.synclog tableThis table contain all packages installed on an Environment.
If we want to move an package with a name already used before, the Deployment process found it in that table and the Synch is skipped!
The workaround is to truncate the table or at least delete the record relative to the package.

Update 2: This issue is been fixed on Platform Update 12.

Tuesday, January 2, 2018

Deploy SSRS Reports Manually - Dynamics 365 for Finance & Operations On Premises Installation

Hi All and Happy 2018!!

In an D365FO On Premise Installation you can raise an issue where the SSRS Reports are not deployed.
From my understanding it should be a Bug that will be fixed soon.

However, you can deploy them manually following the below steps:

  1. Go to the SSRS nodes.
  2. Access to the C:\ProgramData\SF\Rep_xx\Fabric\work\Applications\ReportingService_Appxx\ReportingBootstrapperPkg.Code.x.x.x.xxxxxxxxxxx\Scripts folder
  3. Open PowerShell in Admin Mode. So Click on the File menĂ¹\Open Windows PowerShell\Open Windows PowerShell as Administrator
  4. .\DeployAllReportsToSSRS -PackageInstallLocation \\AOS1SERVERNAME\c$\ProgramData\SF\AOS_xx\Fabric\work\Applications\AXSFType_Appxxx\AXSF.Code.x.x.x.xxxxxxxxxxx.zip.0\Packages -ReportServerIp XX.XX.XX.XX
Till soon!



Friday, December 15, 2017

Use the same ADFS Server for multiple On Premises Environment - Dynamics 365 for Finance & Operations On Premises Installation

Hi All

According to the Microsoft documentation you should have an ADFS Server for each On Premise Environment.

As per my understanding, the reason is related to the workflowClientId that is an hard coded value in  the \Publish-ADFSApplicationGroup.ps1 Powershell script.
Check my post as well.

Due to this reason, in order to use the same ADFS Server you have to add a new Host in the Application definition of the ADFS:

  1. AD FS Manager > AD FS > Application Groups > open "Microsoft Dynamics 365 for Operations On-premises" 
  2. Open Native application "Microsoft Dynamics 365 for Operations On-premises - Native application" 
  3. Add Redirect URI of new environment (DNS) and select Add button to include > OK 
  4. Open Native application "Microsoft Dynamics 365 for Operations On-premises - Financial Reporting - Native application" 
  5. Add Redirect URI of new environment (DNS) and select Add button to include > OK














































Till Soon!

Monday, October 30, 2017

The client id must be unique across all clients - Dynamics 365 for Finance & Operations On Premises Installation

Hi Guys

To the same Customer I'm going to install the second On Premise Environment.

During the "Step 18 - Configure AD FS" I had run the following command in order to create the new Application:

 .\Publish-ADFSApplicationGroup.ps1 -HostUrl 'https://ax.d365foENVNAME.onprem.contoso.com' -ApplicationName 'Microsoft Dynamics 365 for Operations On-premises ENVNAME'

 Here I raised the error "The client id must be unique across all clients"

I checked the log wrote in the same folder as the script and I notice that the process failed to the script "D365FO-OP\D365FO-OP-ADFSApplicationGroup.psm1” at line 199

Here the "workflowClientId" is set with a fixed ID value.

I guess is a error so, I changed the line in:

"$workflowClientId = ([guid]::NewGuid())"

Before rerun the script, delete the partial Application created before through the ADFS Management Console

P.S.  The workaround above have an issue, the workflow doesn't work anymore. 
Unfortunately, I don't know where, Microsoft Dynamics 365FO search the Fixed Value...
I will create another post in order to explain how to modify the same Application in order to handle also other Environments.

Till Soon!



Sunday, October 29, 2017

Setup the AOS Balancing on AIF WEB Services or WHS Mobile Portal - AX 2012

Hi Guys

In an AX Environment with a huge AX Services workload, it is suggested to enable the AX Services Balance.

In order to do that, you have to:
  1. First, enable the NLB or ILB if you are working in Azure
  2. If you want enable the Balance through:

    • AIF Web Services
    • Remote Desktop Host Server
    • SSRS Services
    • Management Reporter

      You have to follow the standard link High Availability best practices for Dynamics AX 2012 in order to setup the Balance through the Dynamics AX Configuration Utility.
      You have to do that on each Servers listed above.

      Therefore you have to:
    • Through the Dynamics AX Configuration Utility create a new Configuration on “Local Client” and on “Business Connector” Target. You can named it “Balance”
    • On both Configurations, in the Connection Tab fill “Server Name” with the IP or Name of the Balance
    • Through the Registry (HKEY_CURRENT_USER and HKEY_LOCAL_MACHINE) at the path “\Software\Microsoft\Dynamics\6.0\Configuration\new_configuration_name” create two key “wcflbservername” and “wcflbwsdlport” and fill them respectively with the Balance IP or name and the Wsdl Port
      “new_configuration_name” will be the new AX Configuration created
    • Come back to the AX Configuration Utility and refresh both configurations with the “Refresh Configuration” button

  3. If you are using the WHS Mobile Portal, modify the “Web.config” file that usually is store at “C:\Dynamics60\Warehouse Mobile Devices Portal\00” and modify the endpoint with your “Balance” IP or Name:


Talking about AIF Web Services or WHS Mobile Portal, in some cases, you have to create also an IIS Farm in order to balance the IIS Connections. If you are working on Azure you have to use the Azure Application Gateway in order to do that.

Till Soon!

Tuesday, October 24, 2017

High Availability AX 2012 Links

Hi All

I would like to share some useful links about how to handle the High Availability through AX 2012:


  1. High Availability best practices for Dynamics AX 2012
  2. Configure SSRS for load balancing in your Azure deployment
In the next days I will share in detail how to setup the "Services High Availability", in order to balance the WHS Mobile Portal and the AIF Web Services, especially in Azure using the ILB (Internal Load Balancer).

Till Soon!