Debugging A Worker Thread Inside SQL Server

May 5, 2006

Hi Everyone!

Just started looking into Assemblies within SQL Server in the hope of creating a multi-threaded application and when writing a basic test assembly I came across the following problem...

When I create a worker thread within my assembly I am unable to do the following in my newly created thread:

Stop on a breakpoint in VS2005
Use Debug.Writeline to output to the output window

I know the thread is running as I am able to write to the EventLog, but VS2005 seems to be unaware of any thread other than the main SQL server thread.

If anyone could tell me whether there it is possible to debug non-SQL server threads, whether I am doing something wrong, or whether I should be doing things differently that would be great!

Thanks in advance for any help!!

The code is as follows (apologies as its not very well written!):

using System;

using System.Data;

using System.Data.SqlClient;

using System.Data.SqlTypes;

using Microsoft.SqlServer.Server;

using System.Threading;

using System.Diagnostics;

public partial class StoredProcedures

{

/// <summary>

/// This stored procedure starts the comms

/// </summary>

[Microsoft.SqlServer.Server.SqlProcedure]

public static void StartComms()

{

try

{

// Output some debug output to show the thread is running

Debug.WriteLine("Comms is starting");

// Create the thread to run in the main thread class

Thread zThread = new Thread(new ThreadStart(ThreadFunction));

// Start the thread running

zThread.Start();

// Sleep to let the other one run

Thread.Sleep(2000);

// Output some debug output to show the thread is running

Debug.WriteLine("Comms is about to wait for thread to finish");

// Wait for the thread to complete

zThread.Join();

// Output some debug output to show the thread is running

Debug.WriteLine("Comms is ending");

}

catch

{



throw;

}



}

/// <summary>

/// The main thread function

/// </summary>

public static void ThreadFunction()

{

try

{

// Flag to keep thread running

bool bRunning = true;

// While the thread is running

while (bRunning == true)

{

// Output some debug output to show the thread is running

Debug.WriteLine("Thread function running");



System.Diagnostics.EventLog.WriteEntry("SQLServerThreadTest",

"Thread function is running");

// Sleep for two seconds

Thread.Sleep(5000);

}

}

catch

{

throw;

}

}

};

View 3 Replies


ADVERTISEMENT

SQL 2012 :: Parallel Query Worker Thread Was Involved In A Deadlock

Oct 22, 2015

I have a deadlock trace running on a production server that is filling up with the following:

Lock: Deadlock Chain
Parallel query worker thread was involved in a deadlock SPID 8
105 - Resource Type Exchange

Spid 8 is a SQL process LOCK MONITOR

There are no graphs as seen with typical deadlock, so it is not two queries that are deadlocking, and I've never seen a deadlock for "LOCK MONITOR"

View 0 Replies View Related

Debugging Stored Procedure Inside SSMSE !!!

Dec 21, 2006

Hi for all

i just get the news that the Dec. CTP of SQL Server 2005 & tools is released !

but my dream is to see debugging stored procedure support inside the SSMSE as debugging applications inside Visual Studio 2005

Many many many thanks to Microsoft  and for the great efforts on the cool products

Mohamed 

View 3 Replies View Related

Multiple/Duplicate SQL Server Worker Processes

Nov 18, 2005

I don't even know where to begin looking... I have a page that loads multiple web user controls...
I know I use one connection object class that is used in all my objects when executing the query (calling Stored Procedures).
The problem is when the first page is rendered and each user control queries the database (SQL Server),
it eventually slows down.  In my controls, I use a lot of repeaters and internal queries per each repeater item.
So I know it hits the database quite often. 

Problem is when I look in SQL Server Enterprise Manager Process Info, I have multiple worker processes sleeping.
My first thought is ASP.net is creating a new session connection (process) to the SQL Server?  Why?  How? 
What do I do to check either my code is creating the connection object properly.  Thanks!

Larry

View 1 Replies View Related

Do GetDate() Inside SQL Server OR Do System.DateTime.Now Inside Application ?

Sep 12, 2007

For inserting current date and time into the database, is it more efficient and performant and faster to do getDate() inside SQL Server and insert the value
OR
to do System.DateTime.Now in the application and then insert it in the table?
I figure even small differences would be magnified if there is moderate traffic, so every little bit helps.
Thanks.

View 9 Replies View Related

When Debugging, Do You Have To Shut Down And Restart BIDS Every Time You Rebuild The Custom Component That You're Debugging?

Jul 9, 2006

Hi,

I have found that when I'm debugging a custom component in BIDS that I've created in another instance of Visual Studio, every time I rebuild the component I have to shutdown and restart BIDS and then reattach to the BIDS process. Which is pretty time consuming... And if I find a small error in my custom component when debugging then I don't seem to be allowed to make any changes to the code unless I stop debugging and go through the process above.

Am I missing something here? Or do I really have to manually go through these steps every time I want to change code in the component I'm debugging?

Can I automate the process with MSBuild or NAnt? If so, is there an example of this anywhere?

Thanks in advance,

Lawrie.

View 1 Replies View Related

Max Worker Threads

May 31, 2007

Here's what I know about max worker threads:

http://technet.microsoft.com/en-us/library/ms187024.aspx
http://sqlblogcasts.com/blogs/thepremiers/archive/2007/05/17/max-worker-threads-configuration-in-sql-server-2005.aspx
and this is kind-of related:
http://arstechnica.com/news.ars/post/20070529-microsoft-exec-next-version-of-windows-to-be-fundamentally-redesigned.html

How do you know how many threads are being used and how many of those are being shared? Or whether they are all even being used? Are there PerfMon stats for this?

View 9 Replies View Related

Worker Threads

Jul 20, 2005

Everyone,I have a data warehouse that at the moment includes around 2500hundred jobs. I am planning for a worst case scenario and would liketo increase the maximum number of sql server threads so that more jobscan execute simultaneously. Could this pose a problem and if so, atwhat number of maximum threads??Thanks!

View 1 Replies View Related

Max Worker Threads / I&#39;ve Read...

Nov 20, 1998

that if you reduce your max worker threads it will enhance the ability to kill processes (spid###) which cannot be killed.

Recently, we have been experiencing runaway processes. If you run these processes continuously, eventually it will run without failure. We are investigating as to the reasons why this is happening. At this very moment I am sifting through the code to try and find an answer. Evidently, the process hangs and cannot be killed. We are then forced to down the server and I wish not to do this so often. If I reduce the max worker threads from it's current number now (512) to a lesser number. Will this help? and if so, by how much should this number be decreased.

Thanks a gig for your help.

View 6 Replies View Related

Accessing SQL Server Data Using Thread

Sep 17, 2007

Hi,
How do we set credentials or contex to a thread.
I create a new thread and within that thread if I am use a connetion string with Integrated Security=True" to talk to the SQL Server, however it seems that the new thread's context/identity is blank and hence failing the SQL Server connection.
Please help.
Thanks
 
 

View 2 Replies View Related

SQL Server Could Not Spawn Process_loginread Thread.

Feb 18, 2005

Hi boys and girls,

all of the sudden two days ago there are error messages started to appear in SQL Log, the server slows down substantially during these errors occurance:

SQL Server could not spawn process_loginread thread.

and

ERROR: Launch of System Task 'OnDemand' failed!

Any ideas of the best way to troubleshoot/reproduce it?

I run SQL2000 Ent on NT Server 2000 Advance. SP3a installed.
3.5Gb memmory allocated to the server with AWE anabled.

Any help appreciated.
Cheers.
Dim

View 2 Replies View Related

Off Thread: SQL Server Users Groups

Feb 12, 2004

Hope I'm not going to annoy anyone here too much but I'm looking for a place to post a job opening and was hoping that someone out there might know of a good site or two.

The job will be in the north Denver area.

Thanks! (And apologies if this is completely inappropriate behavior.)

View 4 Replies View Related

Merge Replication IIS Worker Process Error

Feb 25, 2006

Everyday between 18:00 and 20:00 nearly 1000 PDA Subsriber anonymously
synchronise via Merge Replication and at least two time he have the error :

IIS Worker Process
Faulting application w3wp.exe, version 6.0.3790.1830,
faulting module sscerp20.dll, version 2.0.7331.0,
fault address 0x000110f4.


And subscriber which synchronising meanwhile becomes suspect.


Can someone offer a suggestion as to the cause of and correction for
this
error?


Thanks,


Hakan G


Here is some details about our system:


Client Side
OS: Windows Mobile 2003 4.21.1088
DB: SQL CE 2.0
Microsoft SQL Server CE (ssce20.dll) 2.00.4415.0
Microsoft SQL Server CE Client Agent (ssceca20.dll) 2.00.4415.0
Development Tools: VB.NET 2003
Service Pack: .NET Compact Framework 1.0 SP3


Server Side
OS: Microsoft 2003 SP1
Internet Information Services (INETINFO.EXE) 6.0.3790.1830
(srv03_sp1_rtm.050324-1447)
IIS Worker Process (w3wp.exe) 6.0.3790.1830 (srv03_sp1_rtm.050324-1447)
HW:IBM XSERIES_346 Intel(R) Xeon(TM) CPU 3.60GHZ (2CPU) 5,00 GB RAM DB:
SQL CE 2.0
DB:SQL Server Standart Edition 8.00.2039(SP4)

SQL CE Server 2.0
Microsoft SQL Server CE Server Agent (sscesa20.dll) 2.00.7331.0
Microsoft SQL Server CE Replication Provider (sscerp20.dll) 2.00.7331.0


Merge Replication Properties
-----------------------------
status : 1
retention : 21
sync_mode : 1
allow_push : 1
allow_pull : 1
allow_anonymous : 1
centralized_conflicts : 1
priority : 100.0
snapshot_ready : 1
publication_type : 1
enabled_for_internet : 0
dynamic_filters : 1
has_subscription : 0
snapshot_in_defaultfolder : 1
alt_snapshot_folder : NULL


Merge Agent Profile:
parameter_name value
-------------------------------- ---------
-BcpBatchSize 100000
-ChangesPerHistory 100
-DestThreads 4
-DownloadGenerationsPerBatch 500
-DownloadReadChangesPerBatch 500
-DownloadWriteChangesPerBatch 500
-FastRowCount 1
-HistoryVerboseLevel 1
-KeepAliveMessageInterval 300
-LoginTimeout 15
-MaxDownloadChanges 0
-MaxUploadChanges 0
-MetadataRetentionCleanup 1
-NumDeadlockRetries 5
-PollingInterval 60
-QueryTimeout 300
-SrcThreads 3
-StartQueueTimeout 300
-UploadGenerationsPerBatch 100
-UploadReadChangesPerBatch 100
-UploadWriteChangesPerBatch 100
-Validate 0
-ValidateInterval 60

View 3 Replies View Related

Unable To Connect To SQL Server Database CANNOT ACCESS THE OLD THREAD

Mar 1, 2007

The reason I had to start a new thread was that the old thread seems to be closed. There is no "Reply" button showing.

I still have the same problem. The last post asked if I was sure I was using SQLExpress.

I only have SQLEXPress and I have never had anything else. Therefore the question becomes - Why does the system seem to think I have another version?



Alan

View 1 Replies View Related

Asp.net Worker Process Runs Out Of Memory When Using A Large Dataset

Feb 27, 2006

Hi,
I'm running an application on a server which grabs data from a database table on another server using SqlConnection, SqlDataAdapter and DataSet.
The application then updates every row in that DataSet's DataTable and the updates are saved back using DataAdapter. The code is pretty much straightforward code that you would find on MSDN documentation for using DataSets. The table contains a little over a million rows.
When I run the application, I get an error saying the Server Application is not available. Upon looking into the application event log, I get this message.
aspnet_wp.exe was recycled because memory consumption exceeded the 306 MB (60 percent of available RAM)
How do I get round this? I thought DataSets were supposed to handle large datatables comfortably without having memory issues.
-Thanks

View 1 Replies View Related

IO Completion Listener Worker Appears To Be Non-yielding Message

Aug 3, 2006

We are using SQL Server 2005 (not on SP1), and keep getting the following message in the SQL Server log:

IO Completion Listener (0x15e8) Worker 0x00B7E0E8 appears to be non-yielding on Node 0. Approx CPU Used: kernel 0 ms, user 0 ms, Interval: 35092.

After receiving this message, the server slows down considerably and we receive numerous messages saying:

SQL Server has encountered 61 occurrence(s) of I/O requests taking longer than 15 seconds to complete on file [xxxxx.MDF] in database [xxxx] (22). The OS file handle is 0x00000CDC. The offset of the latest long I/O is: 0x000000fa21a000

I have not been able to find any documentation or explanation of what the IO Completion Listener message is about or how to correct whatever problem is causing it.

Any help would be greatly appreciated!

View 8 Replies View Related

SQL Server 2012 :: How To Update Master Count Column From Multi Thread Application

Sep 28, 2015

We have an application that runs Jobs, each of which affect ## number of child objects (usually around 1M). When a thread gets to 5000 updated child objects it bulk inserts into a table called ActionLog with the child Id and JobId.

When the job is complete a sproc SUMs the children from the ActionLog table:
select sum(id) from ACTIONLOG where JOBID = @JobId;

It then updates the Jobs table AffectedObjectCount column with the sum(*) from above.

Instead of writing to the ActionLog table and calculating the SUM at the end I would like to do this 'real time'. After the bulk insert I would like to update the AffectedObjectCount column with the number of rows that were just bulk inserted. I tried this in the past and ran into major contention issues. There are usually 20 threads running a job so there exists a lot of potential for deadlocks.

Is there a recommended way to handle updating one column on one row from multiple threads? What is the best practice for a counter like this?

View 0 Replies View Related

Server Failed With Error Code 0xc0000000 To Spawn A Thread To Process A New Login Or Connection

Mar 6, 2007

Hello All,

Suddenly, the sql server is down, in the log file, C:Program FilesMicrosoft SQL ServerMSSQL.1MSSQLLOGERRORLOG, I found the record as follows,

2007-03-05 15:40:31.59 Logon Error: 17189, Severity: 16, State: 1.
2007-03-05 15:40:31.59 Logon SQL Server failed with error code 0xc0000000 to spawn a thread to process a new login or connection. Check the SQL Server error log and the Windows event logs for information about possible related problems. [CLIENT: 172.21.123.48]

What else I can do to further investigate?

Thanks

Spencer

View 11 Replies View Related

Sql Server Debugging Tool!!!

Aug 16, 2001

HI Everyone,
I need to ask you a question about T-Sql Debugger. I have installed the sqldbreg.exe and sqldbg.dll in the program filesmicrosoft sharedsql debuggin directory. What I need to know is how to access this tool so that I could debug my procedure I have written in sql server 7.0
Thank you so much!!
sj

View 1 Replies View Related

EXEC Inside CASE Inside SELECT

Nov 16, 2007

I'm trying to execute a stored procedure within the case clause of select statement.
The stored procedure returns a table, and is pretty big and complex, and I don't particularly want to copy the whole thing over to work here. I'm looking for something more elegant.

@val1 and @val2 are passed in


CREATE TABLE #TEMP(
tempid INT IDENTITY (1,1) NOT NULL,
myint INT NOT NULL,
mybool BIT NOT NULL
)

INSERT INTO #TEMP (myint, mybool)
SELECT my_int_from_tbl,
CASE WHEN @val1 IN (SELECT val1 FROM (EXEC dbo.my_stored_procedure my_int_from_tbl, my_param)) THEN 1 ELSE 0
FROM dbo.tbl
WHERE tbl.val2 = @val2


SELECT COUNT(*) FROM #TEMP WHERE mybool = 1


If I have to, I can do a while loop and populate another temp table for every "my_int_from_tbl," but I don't really know the syntax for that.

Any suggestions?

View 8 Replies View Related

Debugging SQL SERVER Stored Procedures

Jun 8, 2005

I don't see the option to debug a stored procedure. I right click on
the procedure and should'nt it appear in the properties window. Do I
need to install some extra component to get the debugger.

View 4 Replies View Related

Debugging SQL Server Statements In Code

Jul 28, 2005

How can I view the raw SQL code that ASP.NET sends to SQL Server when using parameters?

The code below doesn't display the actual SQL statement, but instead: System.Data.SqlClient.SqlCommand.

string SQL = "INSERT INTO [BLAH] VALUES (@startDate)";
SqlConnection mySqlConn = new SqlConnection(ConfigurationSettings.AppSettings["DSN"]);
SqlCommand mySqlCmd = new SqlCommand(SQL, mySqlConn);

mySqlCmd.Parameters.Add(new SqlParameter("@startDate", SqlDbType.DateTime));
mySqlCmd.Parameters["@startDate"].Value = Request.Form["start_date"];

lblSQLDebug.Text = mySqlCmd.ToString();

TIA.

View 6 Replies View Related

Debugging SQL Server 2000 Using Query Analyzer

Dec 19, 2006

I'm trying to debug some procedural functions in SQL Server 2000 using Query Analyzer, and not having much luck. 
Any help would be appreciated!
 
Thanks,
 
Doug

View 3 Replies View Related

Debugging Database Errors With SQL Server Express

Apr 24, 2006

I am trying to debug a classic ASP application using Visual Web Developer Express and SQL Server Express editions. When my application tries to execute a stored procedure, I get the following error:

Multiple-step OLE DB operation generated errors. Check each OLE DB status value, if available.

Is there a way for me to trace queries that are getting executed in SQL Server Express so I can see which stored procedure is failing? I seem to remember being able to do this with SQL Server 2000. Any other ideas on how to debug SQL Server errors like these using SQL Server Express?

TIA for the help.

Michael

View 1 Replies View Related

Steps For Debugging Stored Procedure In Sql Server 2005

Dec 20, 2007

hi friends,
     Anyone give give me the steps we have to follow for debussing a stored procedure in sql server 2005...
 

View 2 Replies View Related

Unable To Start T-SQL Debugging. Could Not Attach To SQL Server Process On

Jul 27, 2006

Please help! I cannot debug CLR procs remotely. Whenever I try to start debugging in VS2005 I get the error: Unable to start T-SQL Debugging. Could not attach to SQL Server process on .... I have clr enabled set to 1 and I have Allow SQLCLR Debugging set on. But I continue to get this error. Any help would be greatly appreciated.

Thanks!

GN

View 21 Replies View Related

Differentiate Between Whether Stored Procedure A Is Executed Inside Query Analyzer Or Executed Inside System Application Itself.

May 26, 2008

Just wonder whether is there any indicator or system parameters that can indicate whether stored procedure A is executed inside query analyzer or executed inside application itself so that if execution is done inside query analyzer then i can block it from being executed/retrieve sensitive data from it?

What i'm want to do is to block someone executing stored procedure using query analyzer and retrieve its sensitive results.
Stored procedure A has been granted execution for public user but inside application, it will prompt access denied message if particular user has no rights to use system although knew public user name and password. Because there is second layer of user validation inside system application.

However inside query analyzer, there is no way control execution of stored procedure A it as user knew the public user name and password.

Looking forward for replies from expert here. Thanks in advance.

Note: Hope my explaination here clearly describe my current problems.

View 4 Replies View Related

Debugging And ActiveX Script Task In A DTS Package Running On SQL Server 2005

Sep 13, 2006

I have a DTS package that I brought over from SQL server 2000 in to SQL Server 2005. I have installed all of the legacy components to run the DTS packages but I need to debug an ActiveX script task. In SQL Server 2000 I could turn on Just-In-Time debugging and use the stop operator (in my vbscript) to break the running script and launch the debugger.

I don't see how to do this in SQL Server 2005 Management Studio. Is it possible to debug a script object in a DTS package running in SQL Server 2005?



Jay Abbott

View 1 Replies View Related

Error Message: Unable To Start T-SQL Debugging. Could Not Attach To SQL Server Process On 'Server1'

Jan 24, 2008


I've installed Visual Studio 2005 Professional evaluation edition on both my desktop & on the server to try out the Debugger to be used with my Stored procedures

I got this error message every time i try to 'Step into Stored Procedure' from my desktop to connect to the stored procedure which resides on the Server.

Error message: Unable to Start T-SQL Debugging. Could not attach to SQL Server Process on 'Server1'.The RPC server is unavailable

The 'Step into Stored Procedure' works though if I open the stored procedure directly on the server.

Both my PC and Server has been installed with Remote Debugger and my windows login has been assigned permission to debug on the debugger that resides on the Server and has sysadmin server role on SQL 2005 both on PC and Server.

Can someone tell me what i miss out to debug Stored procedure in the SQL Server 2005 on the Server from my PC?

Thanks in advance.

View 1 Replies View Related

Transact SQL :: Results From Secondary Server Inside Primary Server

Jul 14, 2015

Inside my sp on the Primary server are 3 commands:

exec msdb..sp_start_job @job_name = N'JobA'                                     --
Running on Primary ServerEXEC Server2.msdb.dbo.sp_start_job @job_name = N'JobB';Running on Secondary ServerSelect * from Server2.Table                                 --
Running on Secondary Server

So far the commands are working just fine when I kick them off one at a time.  But when I kick off the sp as a whole I notice that the timing just isn't keeping up.  For instance, Step 3 is running before Step 2 is finished.  It appears that as the Primary Server kicks off Step 2, it doesn't seem to care about the outcome and moves right to Step 3 which in turn provides me erroneous data.How can I get Step 3 to wait until Step 2 is actually finished keeping in mind the Secondary server is part of this equation?

View 13 Replies View Related

Thread Counter

Oct 23, 2003

Hi Everyone,

The sqlserv.exe takes too much CPU utilization on my SQL 2000 on W2K production machine. I am tring to use System Monitor to monitor the Thread/%process time with all Sqlservr instances, and then match the sqlservr instance number to the KPID in sysprocesses table to find out which user is causing the problem. but I can only see the instance number from Sqlservr0 to sqlservr99. From the table sysprocesses table, the KPID is all 3 or 4 digits number. Any one has any idea about this?

Thanks in Advance.

Jason

View 2 Replies View Related

Need A Query... (see Thread)

May 9, 2006

I have this data structure -

Code:


ProductCode - CenterId - Region
13265 - 10 - Asia
13265 - 12 - Asia
13265 - 9 - America
11110 - 10 - Asia
11110 - 9 - America
12365 - 12 - Asia
12365 - 8 - Europe
45620 - 10 - Asia
45620 - 12 - Asia



What I need this query to do is to pull one instance of a product code where the "Asia" appears more than once within the table? Thanks for the help!

View 2 Replies View Related

Killing A Thread

Dec 2, 2004

Hey all,

Just wondering if there is any way to kill a thread within an sqlerver process. The thread we are trying to kill is a rollback statement that has been running for a very long time.

Any ideas ?


Thanks in advance,
Kilka

View 7 Replies View Related







Copyrights 2005-15 www.BigResource.com, All rights reserved