Tags: info troubleshooting alt Software Profiler COM sharing summary selectionRemember the previous customer in the use of software, there are occasional deadlock problems, because the time is uncertain, not good to reproduce the problem, at that time to solve the problem is a bit tricky.Here is a summary of the two common ways to look at deadlocks:The first is the graphical monitoring of:SQL Server Profiler--and tools--when you log on in the trace pr
,Belockspidremark varchar (max),Belockeventtype varchar (max),Belockeventinfo varchar (max),Lockspid INT,Lockspidremark varchar (max),Lockeventtype varchar (max),Lockeventinfo varchar (max))--Get deadlock processDECLARE Dbcc_inputbuffer CURSOR read_onlyThe for select SPID is locked by the process id,blocked lock process ID from master. sysprocesses WHERE blocked>0DECLARE @lockedspid intDECLARE @belockedspid intOPEN Dbcc_inputbufferFETCH NEXT from Dbcc
Recently write a program often encounter deadlock victim, every time a face confused force. Study how to track down, write down the record.
Build test data
CREATE DATABASE testdb;
GO
USE testdb;
CREATE TABLE table1
(
id INT IDENTITY PRIMARY KEY,
student_name NVARCHAR(50)
)
INSERT INTO table1 values ('James')
INSERT INTO table1 values ('Andy')
INSERT INTO table1 values ('Sal')
INSERT INTO table1 values ('Helen')
INSERT INTO table1
SQL Server deadlock makes the problem that we often encounter, the deadlock of database operation is unavoidable, this article does not intend to discuss how deadlocks are produced, the focus is to resolve deadlocks. Hopefully it will help you learn about the deadlock in SQL
The use of SQL Server as a database application system, will not be able to sometimes create a deadlock, after the deadlock, the maintenance personnel or developers will mostly only through the sp_who to find the deadlock process, and then killed with Sp_kill. With Sp_who_lock This stored procedure, it is easy to know
Query deadlock Process Statement
Select
request_session_id spid,
object_name (resource_associated_entity_id) tablename
from
sys.dm _tran_locks
where
resource_type= ' OBJECT '
Kill the deadlock process statement
Kill spid
Let's share a section about SQL Server detection deadlock; kill loc
Label:The use of SQL Server as a database application system, will not be able to sometimes create a deadlock, after the deadlock, the maintenance personnel or developers will mostly only through the sp_who to find the deadlock process, and then killed with Sp_kill. With Sp_who_lock This stored procedure, it is easy to
Label:Many times, deadlocks are requested by two or more sessions to hold the other session of the lock while holding other session, but there are some special deadlock only by a single session lock triggered, today saw a related article, transported to share with you! The code that caused the deadlock: Execution Environment SQL SERVER 2012 (11.0.5058) BEGIN TRAN
Label:" This SQL job has been running every day well, I suddenly did not take effect? " Encounter this sudden problem, my heart is calm, things can not be inexplicable, because it is a SQL job problem, first need to view the job history sure enough a big x obvious don't want to continue to look at the wrong content: executed as user NT Authority\Network SERVICE. The transaction (Process ID 51) is deadl
Using SQL Server as a database application system, can not avoid the sometimes deadlock, deadlock, maintenance personnel or developers will only through the sp_who to find the deadlock process, and then kill with Sp_kill. Using Sp_who_lock, this stored procedure makes it easy to know which process is deadlocked and whe
Deadlocks and blockages have always been the focus of performance test execution.Here are the monitored SQL Server databases I've compiled, whether there are deadlocks or blocked SQL statements during the performance test, and it's relatively ready to leave.--Number of deadlocks per secondSELECT * from Sys.dm_os_performance_counters WHERE counter_name like ' number of deadlocksc% ';--Query Current blockingW
.
status
nchar (+)
Process ID status. The possible values are: dormant= SQL Server is resetting the session. The running= The session is running one or more batches. When multiple Active Result sets (MARS) is enabled, a session can run multiple batches. For more information, seeusing multiple Active Result sets (MARS). Background= The session is running a background task, such as
sp_lock, it is possible to get different results because new locks have taken place, and some of the old locks have been lifted. If you find that sp_lock returns a large number of results with the same SPID, it is likely that the process is undergoing large processing, and these locks may begin to prevent new transactions from occurring.When you find that a SPID acquires a large number of database locks, this will help determine what stored procedures or statements are running. To achieve this,
Label:Method One: With Cte_sid (Bsid, SID, sql_handle) As (SELECT blocking_session_id, session_id, Sql_handle From sys.dm_exec_requests WHERE blocking_session_id UNION All SELECT a.blocking_session_id, A.SESSION_ID, A.sql_handle From Sys.dm_exec_requests A JOIN cte_sid B on a.session_id = B.bsid ) SELECT C.bsid, C.sid, S.login_name, S.host_name, S.status, S.cpu_time, S.memory_usage, S.last_request_start_time, S.last_request_end_time, S.logical_reads, S.row_count, Q.text From Cte_sid C JOIN sys.
' asmessage--Cycle Start while @intCounter @intCountProperties BEGIN--take the first record SELECT @spid =spid,@bl =BL from#tmp_lock_whoWHEREId= @intCounter BEGIN IF @spid = 0 SELECT 'causing the database to be slow is:' + CAST(@bl as VARCHAR(Ten)) + 'process number, which executes the following SQL syntax'
Deadlocks are not unfamiliar to DBAs or database developers, and they can be triggered in a variety of ways. In general, database application developers in the design will have a certain consideration in order to avoid the creation of deadlock. But sometimes because of some special application scenarios such as High-frequency query, high concurrent query due to database design potential problems, some difficult to capture
The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion;
products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the
content of the page makes you feel confusing, please write us an email, we will handle the problem
within 5 days after receiving your email.
If you find any instances of plagiarism from the community, please send an email to:
info-contact@alibabacloud.com
and provide relevant evidence. A staff member will contact you within 5 working days.