In master.dbo.sysp rocesses I can filter for blocked users (Blocked >0)
and I can create a self join(ON SPID = Blocked) to see what user
Loginame is causing the block. In the column [cmd] I can see the
command that the offending blocker is running to cause the block, but
it only says "SELECT" etc. with no details about the stored procedure
that is causing the block.
If I am running a Trace, I can see the exact stored procedures
including the parameters that every cmd is running.
Is there a way to see that same Trace information when looking for
blocked users in master.dbo.sysp rocesses, or in some other place?
Ideally what I want is a list of blocked users, who is causing the
blocks and the stored procedure name (or other mischief) causing the
block.
Any help is appreciated.
lq 17 3849
Is there a way to get the EXEC ('DBCC INPUTBUFFER (BlkBy) WITH
NO_INFOMSGS')) to become a column in the resulting SELECT statement?
CREATE TABLE #SystemUsers (id int identity, SPID int, BlockerLoginame
nvarchar(255), BlockingSQL nvarchar(2000))
INSERT INTO #SystemUsers (SPID, BlockerLoginame , BlockingSQL)
SELECT
SPID,
loginame,
/* (EXEC ('DBCC INPUTBUFFER (BlkBy) WITH NO_INFOMSGS')) As BlockingSQL
??????? */
FROM master.dbo.sysp rocesses
SELECT
s.spid,
status,
loginame,
hostname,
cmd,
cpu,
last_batch,
login_time,
kpid,
blocked,
x.BlockerLogina me,
waittype,
waittime,
lastwaittype,
waitresource,
dbid,
uid,
memusage,
ecid,
open_tran,
sid,
hostprocess,
nt_domain,
nt_username,
net_address,
net_library,
context_info
FROM master.dbo.sysp rocesses s
LEFT OUTER JOIN #SystemUsers x ON x.SPID = s.Blocked
WHERE Blocked >0
Insert the result of sp_who2 into a table
Delete everything where BlkBy is empty
Loop thru this table and insert the DBCC inputbuffer result into
another table
Join this last table with sysprocesses http://sqlservercode.blogspot.com/
This is the part I'm not sure how to write:
"Loop thru this table and insert the DBCC inputbuffer result into
another table"
laurenq uantrell (la************ *@hotmail.com) writes: In master.dbo.sysp rocesses I can filter for blocked users (Blocked >0) and I can create a self join(ON SPID = Blocked) to see what user Loginame is causing the block. In the column [cmd] I can see the command that the offending blocker is running to cause the block, but it only says "SELECT" etc. with no details about the stored procedure that is causing the block.
If I am running a Trace, I can see the exact stored procedures including the parameters that every cmd is running.
Is there a way to see that same Trace information when looking for blocked users in master.dbo.sysp rocesses, or in some other place?
Ideally what I want is a list of blocked users, who is causing the blocks and the stored procedure name (or other mischief) causing the block.
More so, provided that the stored procedures are not encrpyted, you
can get the exact SQL code they are executing. And, no, no need for a
lot of coding. I've already done it for you. :-) http://www.sommarskog.se/sqlutil/aba_lockinfo.html sounds exactly what
you are looking for.
--
Erland Sommarskog, SQL Server MVP, es****@sommarsk og.se
Books Online for SQL Server SP3 at http://www.microsoft.com/sql/techinf...2000/books.asp
laurenq uantrell wrote: This is the part I'm not sure how to write: "Loop thru this table and insert the DBCC inputbuffer result into another table"
I admit I didn't read your post in detail, but I suspect that
fn_get_sql() is what you're looking for - it's more useful than DBCC
INPUTBUFFER. See Books Online for more details; if it's not mentioned in
your current version of BOL then you should get the latest version from
here: http://www.microsoft.com/sql/techinf...2000/books.asp
But since Erland uses this function in the procedure that he mentioned,
you might well find it easier just to use that.
Simon
Whew. That's a hefty amount of code, which seems much more complex
than:
"Insert the result of sp_who2 into a table
Delete everything where BlkBy is empty
Loop thru this table and insert the DBCC inputbuffer result into
another table
Join this last table with sysprocesses"
Thanks for that.
Is there a way to force some blocking so that I can test it?
The next step is to run this every 60 seconds and export the results to
a text file using bcp...
I know that in my original post:
SELECT
SPID,
loginame
FROM master.dbo.sysp rocesses
WHERE
BlkBy > 0
will get the ball rolling if a blocking situation exists.
But looking at your aba_lockinfo sproc I'm not sure where to start
something like:
if exists (SELECT * FROM master.dbo.sysp rocesses WHERE BlkBy > 0)
begin
/* Blocking exisit so use Erland's aba_lockinfo sproc to BCP to a
text file */
end
laurenq uantrell (la************ *@hotmail.com) writes: Whew. That's a hefty amount of code, which seems much more complex than: "Insert the result of sp_who2 into a table Delete everything where BlkBy is empty Loop thru this table and insert the DBCC inputbuffer result into another table Join this last table with sysprocesses"
Thanks for that. Is there a way to force some blocking so that I can test it?
In one window:
BEGIN TRANSACTION
CREATE TABLE #tmp (a int NOT NULL)
In other another
SELECT * FROM tempdb..sysobje cts
The next step is to run this every 60 seconds and export the results to a text file using bcp...
BCP with queryout would work in theory, but queryout is known to be
troublesome. The fact the column lengths may very from execution to
execution may also be aggrevate things.
You could also create a table that matches the output from aba_lockinfo,
and then run INSERT EXEC to that table. Again, the dynamic field lengths
could cause some problems, but just make your columns wide enough.
But I would rather just run it from OSQL with output directed to a file.
--
Erland Sommarskog, SQL Server MVP, es****@sommarsk og.se
Books Online for SQL Server SP3 at http://www.microsoft.com/sql/techinf...2000/books.asp This thread has been closed and replies have been disabled. Please start a new discussion. Similar topics |
by: Geopsaros |
last post by:
Hi!
I have created a custom trace Listener class, called "DBTraceListener"
it works fine when i add it manually in code :
(eg. Trace.listeners.add(new DBTraceListener("myDBListener",
TraceLevel.Verbose, getDBConnection) )
What I'm trying to achieve now is to add this listener via the
MyApplication.exe.config file
|
by: JP |
last post by:
I managed to get error checking does in my application. In using the
Exception object I can get all the information I need about the error like
the line # where the exception occurred. IS there a way I can have it also
return my the physical line of code at that line number in the StackTrace as
well?????????? This would be helpful because some errors occur just b/c the
user didn’t login, thus a needed Session variable was not on that...
|
by: Xah Lee |
last post by:
Jargons of Info Tech industry
(A Love of Jargons)
Xah Lee, 2002 Feb
People in the computing field like to spur the use of spurious jargons.
The less educated they are, the more they like extraneous jargons, such
as in the Unix & Perl community. Unlike mathematicians, where in
mathematics there are no fewer jargons but each and every one are
|
by: Aaron Bellante |
last post by:
I have been creating some pages that pull info from an SQL database
located on my computer. I have an identical DB located on the
production machine. The page runs fine on my PC (XP Pro), but when I
move everything over to the target machine (2003 Server) I get this
error:
Login failed for user 'NT AUTHORITY\NETWORK SERVICE'.
Description: An unhandled exception occurred during the execution of the
current web request. Please review...
|
by: cameron |
last post by:
I have attempted to lock down the trace.axd file with the standard:
<location path="trace.axd">
<system.web>
<authorization>
<allow roles="SOME GROUP"/>
<deny users="*"/>
</authorization>
</system.web>
</location>
| |
by: Greg W via DotNetMonster.com |
last post by:
hello all,
I have site that I just moved to a new host. It is a dedicated server that
sits behind a dedicated firewall. Most of the site uses classic ASP that are
working fine but I have some parts that I am converting to .NET that can't
seem to access the database.
The server is windows 2k3 and I am using SQL Server 2k.
In my web config file I have the following connection string:
|
by: Adam Sandler |
last post by:
Hello all,
I'm trying to use VWD 2005 Express Edition to connect to a database.
For my initial prototyping though, I'm just using an Excel
spreadsheet as the source and everything resides on the local host.
All I want to do right now is get the info from the source and display
it on a webpage.
I've dropped a GridView and a SQLDataSource onto the page and
here's the code:
|
by: Rich Burridge |
last post by:
Hi all,
If this is a frequently asked question, then just slap me silly and point me
in the right direction.
We are currently experiencing a hanging problem with Orca , a
screen reader/magnifier written in Python. We know how to get a
stack trace of the current thread in a Python problem, but the problem
is that the script is currently blocked on a Bonobo call, that is
preventing us from doing this.
|
by: aboutjav.com |
last post by:
Hi,
I need some help. I am getting this error after I complete the asp.net
register control and click on the continue button. It crashed when it
tries to get
it calls this Profile property
((string)(this.GetPropertyValue("Address1")));
|
by: marktang |
last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However, people are often confused as to whether an ONU can Work As a Router. In this blog post, we’ll explore What is ONU, What Is Router, ONU & Router’s main usage, and What is the difference between ONU and Router. Let’s take a closer look !
Part I. Meaning of...
|
by: jinu1996 |
last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven tapestry of website design and digital marketing. It's not merely about having a website; it's about crafting an immersive digital experience that captivates audiences and drives business growth.
The Art of Business Website Design
Your website is...
| |
by: Hystou |
last post by:
Overview:
Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows Update option using the Control Panel or Settings app; it automatically checks for updates and installs any it finds, whether you like it or not. For most users, this new feature is actually very convenient. If you want to control the update process,...
|
by: tracyyun |
last post by:
Dear forum friends,
With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each protocol has its own unique characteristics and advantages, but as a user who is planning to build a smart home system, I am a bit confused by the choice of these technologies. I'm particularly interested in Zigbee because I've heard it does some...
|
by: agi2029 |
last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing, and deployment—without human intervention. Imagine an AI that can take a project description, break it down, write the code, debug it, and then launch it, all on its own....
Now, this would greatly impact the work of software developers. The idea...
|
by: isladogs |
last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM).
In this session, we are pleased to welcome a new presenter, Adolph Dupré who will be discussing some powerful techniques for using class modules.
He will explain when you may want to use classes instead of User Defined Types (UDT). For example, to manage the data in unbound forms.
Adolph will...
|
by: conductexam |
last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and then checking html paragraph one by one.
At the time of converting from word file to html my equations which are in the word document file was convert into image.
Globals.ThisAddIn.Application.ActiveDocument.Select();...
|
by: 6302768590 |
last post by:
Hai team
i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated we have to send another system
| |
by: muto222 |
last post by:
How can i add a mobile payment intergratation into php mysql website.
| |