Deadlocked on lock resources

Hi people!!
Sometimes an error with this message happens in my process:
1205 : 40001 : com.microsoft.sqlserver.jdbc.SQLSERVERException: Transaction (Process ID 102) was deadlocked on lock resources with another process and has been chosen as the deadlock victim. Rerun the transaction.
The deadlock happens in my DB SNPS_WORK but it not happens every time
Anybody knows what can i do with this?
Ty!

You can search which batch or process use the same table at the same time...
Cause you may have 2 transactions launched on the same object and one of the 2 is blocked.
Search in ODI if there is 2 executions on the same object at the same time...
or search on your RDBMS log...

Similar Messages

  • Microsoft sql client deadlocked on lock resources with another process

    Hi
    I wrote a forecasting report for a customer which creates an excel spreadsheet with the information
    Depending on how they run the report it can take between 5 to 15 minutes to run
    We have just upgraded the customer to SAP 8.8 PL10 and Microsoft SQL Server 2008 and they seem to be getting an error -
    Microsoft sql client deadlocked on lock resources with another process .......
    The error seems intermittent, they may get the error once and the next time they run it, it is fine.
    I have never seen this error before and they never had it before on SAP 2005
    Can anyone suggest anything please?
    Thanks
    Regards Andy

    Hi Andy,
    I was having the same problem. I'm gonna tell you what i did.
    My query usually takes from 10 to 15 minutes to show results. That long time also block all transaction in the database.
    I was reading about some techniques to improve queries performance. Some of the tips are:
    1. Review indexes in the table you are querying
    2. Use Views
    3. Avoid cursors
    4. Archive old data
    5. Use the correct transaction isolation level
    The last one, was the tip that helped me to avoid the block in the database.
    By default the isolation level in SQL Server is Read Commited, that explains why the database block some transactions. For example, if you have a query that take data from JDT1 table and it takes several minutes to show the results, other transactions that try to write in the same table should be blocked if they arrive at the same time of the first query.
    To solve this, you can make your query in a transaction with Snapshot isolation level. It means that your select query will take a snapshot of the data without blocking any other transaction.
    Here is an example how you can make it. The difference is that you may use ADO.NET connection replacing DI API Connection:
    oConnection = OK1.Generic.Helpers.setConnection(server, password, userID, db); // You have to set anyway your sqlconnection
                        if (oConnection.State == ConnectionState.Open)
                            oCommand = new SqlCommand();
                            oCommand.Connection = oConnection;
                            oCommand.CommandTimeout = System.Convert.ToInt32(timeOut);
                            oCommand.CommandText = "ALTER DATABASE " + db + " SET ALLOW_SNAPSHOT_ISOLATION ON";
                            oCommand.ExecuteNonQuery();
                            sqlTran1 = oConnection.BeginTransaction(IsolationLevel.Snapshot);
                            oCommand.CommandText = query;
                            oCommand.Transaction = sqlTran1;
                            oCommand.ExecuteNonQuery();
                            sqlTran1.Commit();
                            oCommand.CommandText = "ALTER DATABASE " + db + " SET ALLOW_SNAPSHOT_ISOLATION OFF";
                            oCommand.ExecuteNonQuery();
                            if (oConnection.State == ConnectionState.Open)
                                oConnection.Close();
    In this example I write the data to show in the report in other table, then the report takes the data from that table.
    I hope it will be helpful for you.
    Regards,
    Juan Camilo

  • Transaction (Process ID 477) was deadlocked on {lock} resources

    hi !!!
    Has anyone encountered the following error:
    java.sql.SQLException: [Microsoft][SQLServer JDBC Driver][SQLServer]Transaction (Process ID 477) was deadlocked on {lock} resources with another process and has been chosen as the deadlock victim. Rerun the transaction.
    My prgram contains many thread which Update the database, the same table but different rows.
    Thanks and Regards,

    This problem relates to the Microsoft SQLServer, the server has decided to decline the request from that instance due to an internal deadlock issue. Your instances request was arbitrarily chosen as the one to terminate. So the SQLServer sent an error status back that would have been passed on thru the ODBC bridge to the JVM and then to your application.
    How you want to handle this event within your app is up to you.

  • Transaction (Process ID 112) was deadlocked on lock resources

    i got a error when i run the ssis,how to fix it.
    Transaction (Process ID 112) was deadlocked on lock resources with another pr
                                   ocess and has been chosen as the deadlock victim

    i got a error when i run the ssis,how to fix it.
    Transaction (Process ID 112) was deadlocked on lock resources with another pr
                                   ocess and has been chosen as the deadlock victim
    Moderators please  move this to Databse engine forum.Can you see if this ooutput gives you deadlock graph.If you are on SQL server 2008 or later
    SELECT
    xed.value('@timestamp', 'datetime2(3)') as CreationDate,
    xed.query('.') AS XEvent
    FROM
    SELECT CAST([target_data] AS XML) AS TargetData
    FROM sys.dm_xe_session_targets AS st
    INNER JOIN sys.dm_xe_sessions AS s
    ON s.address = st.event_session_address
    WHERE s.name = N'system_health'
    AND st.target_name = N'ring_buffer'
    ) AS Data
    CROSS APPLY TargetData.nodes('RingBufferTarget/event[@name="xml_deadlock_report"]') AS XEventData (xed)
    ORDER BY CreationDate DESC
    --Got from Erland
    Please mark this reply as the answer or vote as helpful, as appropriate, to make it useful for other readers

  • Deadlocked on lock resources error

    Forum,
    We have a system on 8.81 PL07. Intermittently they get the following messages when trying to add a sales quote or order:
    1). [Microsoft][SQL Native Client][SQL Server]Transaction 'Special Prices' (OSPP) (Process ID 123) was deadlocked on lock resources with another process and has been chosen as the deadlock victim. Rerun the transaction.
    Again this has happened before but with a slightly different transaction name.
    Has anyone come across this before or have any suggestions?
    Regards,
    Juan

    HI Juan,
    check Microsoft sql client deadlocked on lock resources with another process if it will help.
    Thanks,
    Neetu

  • Error message "Unable to lock resource channel ' BTS '"

    i have a solution which use Biztalk 2010 and Dynamic AX 2009. recently the Biztalk server always raise error:
    Error message "Unable to lock resource channel '<BTS>'".
    the Biztalk can not receive message from Dynamic AX and the message in queue of Dynamic AX also can not be sent out. what i know to do is that stop biztalk server and delete the lock data from Dynamic AX,then start biztalk server.
    what i want to know is why it happen? is it a Bug? how can i solve it?

    Hi,
    There is a hotfix available to fix this issue, which updates the AX BizTalk Adapter and Schema assemblies.
    If you are running Microsoft Dynamics AX 2009 RTM (Build v5.0.593.x), the fix is included in AX 2009 RTM Hotfix
    Rollup 4 Kernel.
    If you are running Microsoft Dynamics AX 2009 Service Pack 1 (Build v5.0.1000.52 or v5.0.1500.x), the fix is included in AX 2009 SP1 Hotfix
    Rollup 6 Kernel.
    NOTE: To
    check the version of the AX server version in use, find AX32SERV.EXE on your AOS servers, and chek the file properties.
    For detailed steps refer:
    https://social.msdn.microsoft.com/Forums/en-US/f4633ce4-7c77-402b-8b9c-6669ff392077/error-message-unable-to-lock-resource-channel-ax-channel-name?forum=biztalkr2adapters
    Rachit

  • How can I force the unlock of one  locked resource?

    I have locked a resource, how can I unlock the resource?
    I try to call unlock function but I receive an error (ORA-31108)
    Is there a way to force the unlock of a resource locked by other user?
    thanks

    Is there a way to force the unlock of a resource locked by other user?Yes. get a DBA to kill the session. Actually it might be better to kill the OS process.
    Alternatively get the DBA to find out who the user is, and phone them up. This won't help if it's not an actual person (it might be a batch process).
    Cheers, APC

  • Deadlock and lock

    Dears,
    I have a situation where from time to time there is an enq : TX- row lock contention in the database and many other sessions are blocked until the DBA kills the blocked session. From time to time I have also a deadlock situations that are cleared automatically by Oracle.
    But the Oracle Entreprise manager is showing in one situation the enq : TX- row lock contention and it mentions also this *"A deadlock has been detected in the blocked sessions"*
    Does this mean that both a deadlock and a lock happens at the same time?
    If no, is this situation possible?
    Regards

    Hi,
    The Lock:Deadlock event class is produced when an attempt to acquire a lock is canceled because the attempt was part of a deadlock and was chosen as the deadlock victim.
    Refer to below links for resolution
    enq: TX - row lock contention
    Tuning row lock contention wait events
    HTH
    - Pavan Kumar N
    Oracle 9i/10g - OCP
    http://oracleinternals.blogspot.com/

  • ROLLUP locked resource to build indexces

    Hi,
    I am running a rollup where some aggregates are filling, there was a direct sql statement running to fill the aggregate. while running this rollup one more process to drop index for another cube also started.
    The rollup took 2 hours, after finishing the rollup only the drop indexces are executed.
    Actuall both are different data targets, why drop indexces are waiting to finish rollup process.
    Is there any data base level tuning required to run these parallel !
    Could any one advise...
    Thanks & Regards
    Srini

    Hi,
    There should have been a common Master Data thats been shared between both the Infocubes...Like Material, Cutomer should have been there common for both the Info Cubes.
    When the Roll-up is in Progress the Aggregates will be updated/Adjusted with the new transactions(Which have MD &TD) and this will lead to locking up of Master data. This should have lead to locking and only one procces has been executed.
    Thanks/Tarak.

  • Frequenet dead locks in SQL Server 2008 R2 SP2

    Hi,
    We are experiencing frequent dead locks in our application. We are using MSSQL Server 2008 R2 SP2 version. When our application is configured for 5-6 app servers, this issue is occurring frequently.
    But, when the same application is used with the MSSQL Server 2008 R2 or SQL Server 2012, we don't see the dead lock issue. From the error lock and sql trace, the error message is thrown for the database table JobLock. We have a stored procedure to insert/update
    for the above table when the job moves from one service to other. The same procedure works fine when used with the 2008 R2 and SQL Server 2012 Version.
    Is the above issue related to the hotfix from the below url?
    http://support.microsoft.com/kb/2703275
    Following error message is seen frequently in the log file.
    INFO : 03/24/2014 10:26:30:290 PM: [00007900:00005932] [Xerox.ISP.Workflow.ManagedActivity.PersistInTransaction] System.Data.SqlClient.SqlException (0x80131904): Transaction (Process ID 62) was deadlocked on lock resources with another process and has been
    chosen as the deadlock victim. Rerun the transaction.
       at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)
       at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)
       at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose)
       at System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady)
       at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString)
       at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async, Int32 timeout, Task& task, Boolean asyncWrite, SqlDataReader ds)
       at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, TaskCompletionSource`1 completion, Int32 timeout, Task& task, Boolean asyncWrite)
       at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(TaskCompletionSource`1 completion, String methodName, Boolean sendToPipe, Int32 timeout, Boolean asyncWrite)
       at System.Data.SqlClient.SqlCommand.ExecuteNonQuery()
       at Microsoft.Practices.EnterpriseLibrary.Data.Database.DoExecuteNonQuery(DbCommand command)
       at Microsoft.Practices.EnterpriseLibrary.Data.Database.ExecuteNonQuery(DbCommand command, DbTransaction transaction)
       at Xerox.ISP.DataAccess.Data.Utility.ExecuteNonQuery(TransactionManager transactionManager, DbCommand dbCommand)
       at Xerox.ISP.DataAccess.Data.SqlClient.SqlActivityProviderBase.ActivityReady(TransactionManager transactionManager, Int32 start, Int32 pageLength, Nullable`1 ActivityID, Nullable`1 JobId, String ContentUrl, Nullable`1 PrevWorkStep, Nullable`1
    CurrentWorkStep, String Principal, Nullable`1 Status, Nullable`1 ServerID, String HostName, Nullable`1 LockUserID, Nullable`1& ErrorCode, Byte[]& Activity_TS)
       at Xerox.ISP.DataAccess.Domain.ActivityBase.ActivityReady(Nullable`1 ActivityID, Nullable`1 JobId, String ContentUrl, Nullable`1 PrevWorkStep, Nullable`1 CurrentWorkStep, String Principal, Nullable`1 Status, Nullable`1 ServerID, String HostName,
    Nullable`1 LockUserID, Nullable`1& ErrorCode, Byte[]& Activity_TS, Int32 start, Int32 pageLength)
       at Xerox.ISP.DataAccess.Domain.ActivityBase.ActivityReady(Nullable`1 ActivityID, Nullable`1 JobId, String ContentUrl, Nullable`1 PrevWorkStep, Nullable`1 CurrentWorkStep, String Principal, Nullable`1 Status, Nullable`1 ServerID, String HostName,
    Nullable`1 LockUserID, Nullable`1& ErrorCode, Byte[]& Activity_TS)
       at Xerox.ISP.Workflow.ManagedActivity.<>c__DisplayClass2f.<ActivityReady>b__2d()
       at Xerox.ISP.Workflow.ManagedActivity.PersistInTransaction(Boolean createNew, PersistMethod persist)
    ClientConnectionId:9e44a64f-5014-4634-9cee-4581e1b9c299
    I look forward to the suggestions to get the issue resolved. Your input is much appreciated.
    Thanks,
    Keshava.

    If you are having deadlock trouble in your SQL Server instance, this recipe demonstrates how to make sure deadlocks are logged to the SQL ServerManagement Studio SQL log appropriately using
    the DBCC TRACEON, DBCC TRACEOFF, and DBCC TRACESTATUS commands. These functions enable, disable, and check the status of trace flags.
    To determine the cause of a deadlock, we need to know
    the resources involved and the types of locks acquired and requested. For this kind of information, SQL Server provides
    Trace Flag 1222 (this flag supersedes 1204, which was frequently used in earlier versions of SQL Server.)
    DBCCTRACEON(1222,
    -1);
    GO
    With this flag enabled, SQL Server will provide output in the form of a deadlock graph, showing the executing statements
    for each session, at the time of the deadlock; these are the statements that were blocked and so formed the conflict or cycle that led to the deadlock.
    Be aware that it is rarely possible to guarantee that deadlocks will never occur. Tuning for deadlocks
    primarily involves minimizing the likelihood of their occurrence. Most of the techniques for minimizing the occurrence of deadlocks are similar to the general techniques for minimizing blocking problems.

  • Deadlocked error message when running crystal report

    Hi All,
    I need a bit of guidance as to the following problem.
    Seems there is a lock being created in SQL when running some crystal reports.
    When trying to run a report the following message is displayed:
    Database connection Error L 'ADO Error Code: 0x
    Source: Microsoft SQL Native Client
    Description: Transaction (Process ID 302) was deadlocked on lock resources with another process and has been chosen as the deadlock victim. Rerun the transaction.
    SQL State: 40001
    Native Error: [Database Vendor Code: 1205 ]'
    The error is happening intermittently when refreshing the report. It does not seem to happen when no users are using the system.
    Is there any way to stop this from happening? Or is this some kind of limitation with crystal and how it accesses the database?
    Many Thanks,
    Matt

    Hi Matt
    I have had this problem with long running queries as well.  I ended up doing the main part of the query in a view using WITH (NOLOCK) for each table and then reporting on the view.
    This had extra benefits of making the report much simpler and often making the query more efficient and easier to test as well.
    Rob

  • SSIS Execute SQL Task using sp_rename giving deadlock issues

    All,
    We have a job that has 2 steps and both of those steps call an SSIS package
    1st package - Loads the data from a SQL server source, to a SQL Server destination tables, say, "TblHistory" is one of them
    2nd package - It does a re-name from the History table to the Main table, so below, is how the code looks like in the execute SQL Task:
    BEGIN TRANSACTION
    EXECUTE sp_rename 'dbo.Tbl', 'TblOld'
    EXECUTE sp_rename N'dbo.TblOld.PK_TblId', N'PK_TblIdOld', N'INDEX'
    EXECUTE sp_rename 'dbo.TblHistory', 'Tbl'
    EXECUTE sp_rename N'dbo.Tbl.PK_TblHistoryId', N'PK_TblId', N'INDEX'
    EXECUTE sp_rename 'dbo.TblOld', 'TblHistory'
    EXECUTE sp_rename N'dbo.TblHistory.PK_TblIdOld', N'PK_TblHistoryId', N'INDEX'
    COMMIT TRANSACTION
    In package 1 there are multiple history tables that are being loaded and most of them get renamed in the 2nd package. There is a separate SQL task for each of the history tables. The problem that I am running in to are the deadlock issues. When the 2nd package
    runs, it throws this error:
    "SQL - Table Rename & Swap for "Tbl" Execute SQL Task     Description: Executing the query "BEGIN TRANSACTION     EXECUTE sp_rename Tbl..." failed with the following error: "Transaction
    (Process ID 60) was deadlocked on lock resources with another process and has been chosen as the deadlock victim."
    It's giving me a deadlock issue on the other tasks as well. So, when the job ran today, I am noticing 4 deadlock errors on the 4 different execute SQL tasks in the 2nd package (i.e. the job fails at 2nd step)
    Has anyone faced this scenario before?

    Why renaming tables? The data do not change. So just load the data to an interim table and push it to the target or may be you do not need it at all - just load the right table.
    I admit I fail to capture the overall picture of what you are trying to solve or deliver. But renaming tables is something not usual.
    Arthur My Blog

  • JDBC Sender Adapter error locking issue

    Hi ,
    Getting error:
    Database-level error reported by JDBC driver while executing statement 'UPDATE OrdersTo_SAP SET Read_By_PI_Fl ='P' WHERE Read_By_PI_Fl is null'. The JDBC driver returned the following error message: 'com.microsoft.sqlserver.jdbc.SQLServerException: Transaction (Process ID 117) was deadlocked on lock | communication buffer resources with another process and has been chosen as the deadlock victim. Rerun the transaction.'. For details, contact your database server vendor
    I have increased the time out period also changed the isolation level to serializable  but no result. Channel is getting the error very frequently.
    Can any one please look into the error.
    Thanks,
    Swapnashree

    Hi Swapnashree - Are there multiple sources which will update this table? or just PI?
    How many server nodes you have?
    However when i search in Microsoft forums, i found the below. Please share it with your DBA to investigate further..
    http://social.msdn.microsoft.com/Forums/sqlserver/en-US/194f18b0-03b2-4e8f-8c67-5c92373c3efd/transaction-process-id-135-was-deadlocked-on-lock-resources-with-another-process-and-has-been?forum=sqlintegrationservices
    http://technet.microsoft.com/en-us/library/aa213030(v=sql.80).aspx
    Transaction (Process ID 51) was deadlocked on lock resources with another process and has been chosen as the deadlock vi…

  • Is there something that needs to be done in response to deadlock victims?

    So, Friday I got a report by one user about an unusual error seen. It appeared to be a one time error that went away when the page refreshed.
    I went to the logs, tried to find an associated message to see if there were actions to take.
    (Boy, I wish there were a series of books for SP admins that covered all the event and ULS log entries and what action to take to resolve them)
    When I got onto one of the farm servers to look at logs, the event log had a number of unusual warnings and errors.
    I am taking a look at some of these to see if there is something that needs to be done.
    One of the errors - which has occurred 3 times in December - is related to the search software. One says "Foundation Search" and the other two say "Server Search".
    So, are these the kinds of things that an admin should just ignore at this noise level (3 in 2 weeks) or is there something that should be done?
    The warning is 57 and says that a database error occurred - a transaction was deadlocked on lock resources with another process and was chosen as the deadlock victim.
    The first 2 times the application was Search_Service_Application, while the most recent occurrence was
    'Search_index_file_on_the_search_server'.

    Hi Iwvirden,
    Deadlocks on SharePoint databases may cause performance issues in SharePoint.
    So if the error occurs on SharePoint content databases and occurs many times, then you need to troubleshoot this issue in SQL:
    http://blogs.msdn.com/b/grahamk/archive/2009/06/15/troubleshooting-sql-server-deadlocks-and-performance-when-running-sharepoint.aspx
    http://blogs.technet.com/b/christwe/archive/2014/02/06/what-can-i-do-about-the-deadlocks.aspx
    If the deadlocks occur on Search databases, then you can ignore them if there are not too many errors.
    http://blogs.msdn.com/b/sharepoint_strategery/archive/2014/02/10/sharepoint-search-and-deadlocks-in-sql-server.aspx
    By the way, the errors about search displayed in the ULS log should be checked as these errors may influence your search function.
    Best regards.
    Thanks
    Victoria Xia
    TechNet Community Support

  • Deadlock issue while sending data from PI to JDBC !!!

    Hi All,
    We are getting below error while sending data from PI to JDBC (Database).
    Error - JDBC message processing failed; reason Error processing request in sax parser: Error when executing statement for table/stored proc. 'store_order_details' (structure 'Order_details_Statement'): com.microsoft.sqlserver.jdbc.SQLServerException: Transaction (Process ID 61) was deadlocked on lock resources with another process and has been chosen as the deadlock victim. Rerun the transaction.
    This is happening when more than one PI message is trying to deliver data at the same time to database.
    Can anyone let us know the root cause of this issue and how we can rectify this.
    Is there some setting which we can use to do parallel processing as Delivering one message at a time to database is causing performance issues & taking lot of time.
    Thanks
    Neha Verma

    Hello Neha,
    Strange but can please get below information.
    Please check with the DB admin about if the user is getting locked or is there any hanging threads related to user.
    Also confirm with DB admin if the exclusive lock is on table or on the row when you try insertign or updating information.
    You can share the user from the receiver channel.
    Regards,
    Hiren A.

Maybe you are looking for