This post I want to talk about and solve some pain points were are facing in every project when it comes to the setup of database log. As you my now database log in Microsoft Dynamics 365 for Finance and Operation is implemented with SQL triggers, so it has a smaller footprint in comparison to previous versions. Nevertheless I would not recommend to activate it for transaction tables.
We had the problem that in every project we got the task to activate database log for “setup tables” and in every project we had a discussion about what those “setup tables” are. When the list of “setup tables” were available the next challenge occurred: “How to get those table activated?”. The problem here is that the client only shows you the label (in the user language) or the technical name for each tables. So to activate a bigger list of tables will take some time. We got rid of this problem by providing a class to activate database log for our best practice tables. You can find the class behind the following link and I´m very interested in tables you would add to this list: https://github.com/PaulHeisterkamp/d365fo.blog/blob/master/Metadata/D365FoBlog/D365FoBlog/AxClass/DfbActivateDatabaseLog.xml
To call the logic of the class I´m using the SysClassRunner URL parameter: https://usnconeboxax1aos.cloud.onebox.dynamics.com/?mi=SysClassRunner&cmp=USMF&prt=initial&cls=DfbActivateDatabaseLog
Please be aware, that if you run this class in production or in any other environment the setup of the database log can lead in locking/blocking because it will add triggers to the SQL tables which will lead to a schema lock.