![]() To enable deadlock logging by using the Business Central Server Administration tool, open the server instance for editing, and then select the Enable Deadlock Monitoring check box in the Database section.įor more information about how to use the Business Central Server Administration tool, see Business Central Server Administration Tool. You can enable deadlock logging by using the Business Central Server Administration tool or the Set-NAVServerConfiguration cmdlet in the Business Central Administration Shell. To log deadlocks, you must enable deadlock logging on the Business Central Server instance. Configure the Business Central Server instance You can delete the ring_buffer target if you like. Replace C:\logging\ with the path to the event file. In the Business Central database, create a view that has the name deadlock_report_event_file_view and uses the new event_file target.ĬREATE VIEW deadlock_report_event_file_view ASįROM sys.fn_xe_file_target_read_file ('C:\logging\*.xel', null, null, null) Replace C:\logging\mydeadlocks.xel with the path and file name that you want to store the data.įor more information see Alter an Extended Events Session and Targets for Extended Events in SQL Server. SET filename=N'C:\logging\mydeadlocks.xel',max_file_size=(10240) Using a query, run the ALTER EVENT SESSION transact-sql statement.From Object Explorer, open the session's Properties, and then on the Data Storage page, add an event_file type target.The event_file target writes event session output from a buffer to a disk file that you specify. Modify the deadlock monitoring session to use a file-based target (known as an event_file target). Reading from the event_file target is only supported in Business Central Cumulative Update 3 and later. ![]() ![]() If you want to use the default ring_buffer target, then no further action is required. So, if your setup has a high volume of database traffic, you might have to change the SQL Server to write deadlock events to an event_file target as described the steps that follow. Using the event_file target can eliminate potential overloads in high volume situations. An important difference between the ring_buffer target and event_file target is that the ring_buffer target has a storage size limitation of 5MB, while the event_file target provides a much greater storage capacity. You have the option to also store the events to a file on the SQL Server, called an event_file target, and configure the Business Central Server to read from this file instead of the ring_buffer target. When the Business Central Server is notified about the deadlock, it reads data from the target ring_buffer target. Configure where to store deadlock eventsīy default, SQL Server uses an in-memory data structure called a ring_buffer target to store deadlock events. The next time a client session is established with the database, a session for monitoring the Business Central database appears under Management, Extended Events. ![]() On the SQL server instance level, grant the login both Alter any event session and View server state permissions.įor detailed steps on how to do this, see Giving the account necessary database privileges in SQL Server.On the database level, grant the login the View database state permission.In SQL Server Management Studio, connect to the SQL server instance for Business Central, and then grant the following permissions: You can do this using SQL Server Management Studio. To configure the SQL Server instance to log deadlocks, you must assign specific permissions to the database login for the service account that is used on the Business Central Server instance. Note: If you installed the Business Central Server and database components by using the Install Demo option in the Business Central Setup, then deadlock logging is set up by default. Setting up deadlock logging requires you to configure the SQL Server instance and the Business Central Server instance. SQL Server handles deadlocks by terminating and rolling back transactions that were started after the first transaction.įor general information about deadlocks, see Detecting and Ending Deadlocks. A deadlock occurs when two or more processes or transactions block each other from continuing because each has locked a database resource that the other transaction needs. About Deadlocksĭeadlocks can prevent users from completing tasks in the Business Central client. This information can help you identify and resolve problem areas in the application design. The log entries provide information about the AL code that was run when the deadlock occurred, along with the deadlock report from SQL Server. The deadlocks are recorded in the Windows Event Log of computer running Business Central Server. You can set up the system to log deadlocks that occur in the SQL database.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |