Fix to change Dynamics 365 – database to multi user mode

Sometimes when you try to restore the AX database, it will be converted into a Single User mode. And it will now allow you to perform any task against the AX database.

b1

To rectify that, please try to execute the below query.

ALTER DATABASE AXDB SET MULTI_USER WITH ROLLBACK IMMEDIATE

If you have any deadlock on the database, you will receive the below error.

2

To rectify this issue, we need to kill the dependent process on the database. To identify the process please use the below sql script.

  1. Get the database id

(select dbid from sysdatabases where [name] =’AxDB’)

3

  1. Find all the process on the database id

select spID from sysprocesses where dbid IN 5

Once, you find the spID of the process, you should kill the process by using below code

Kill <spID>

Now execute alter table to change the database to multi user mode using below query.

ALTER DATABASE AXDB SET MULTI_USER WITH ROLLBACK IMMEDIATE

Alternatively, you can use the below script to find lock processes

4

SELECT * FROM   sys.dm_tran_locks WHERE  resource_database_id = DB_ID(‘AxDB’)

And kill the process with the request_session_id as shown below code

kill 53

kill 51

ALTER DATABASE AXDB SET MULTI_USER WITH ROLLBACK IMMEDIATE

Read Query String in Dynamics 365 Operations – AX 7

Challenge: To read query string parameter in form init() method

Solution: URLUtility class is used to extract the query string parameters. To explain this, I have created a simple form designed to extract query string in the init method and display in a text control.

  • A display menu item is attached with the form “Form1”

d1

  • A string control is attached and the “AutoDeclaration” property is set to “Yes”. Assign custom pattern to the form.

d2

  • Below code in the form init() method retrieves the query string information and set to the string control.

D3

  • Execute the menu-item linked with the Form and attach the following line in the url link

&queryParm=Hello,world

D4

  • The query string value is displayed in the text control.

How to add Batch Server to a Batch Group in D365 Operations

Issue Tag 1: Batch job is not executing properly in D365 operation

Issue tag 2: Batch job remains in waiting state forever

Reason: The issue is due to the wrong or non-assignment of batch server for the batch job

Step 1:

Navigate to Batch Server -> Batch groups -> Batch job

Create a batch group. Navigate to “System administration” –>  “Batch Groups”

1

Click on “New” and create a batch group in the following form.

2

Use the arrow icon to set the selected servers.

3

Now, the batch job will be executed from the waiting stage.

Check here as well:

Sometimes the batch will still remain in the waiting stage even after you have configured the servers as mentioned above. This is because the batch server is not started in the MS services.

Please open cmd prompt and type Services.msc.

Search for “Microsoft Dynamics 365 Unified Operations : Batch Management Service” and start the process.

6