• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 172
  • Last Modified:

Timeout Error Message on Intranet Site

On our Intranet Server we got the following error message on the attached file. It is on a Windows 2012 R2 server running IIS with SQL 2008 R2. We have not done any updates or any changes in months. Any assistance offered would be appreciated. Timeout Error Message
0
regsamp
Asked:
regsamp
  • 8
  • 5
  • 4
3 Solutions
 
David ToddSenior DBACommented:
Hi,

This is the connection timeout.

You could specify a larger value in the website code - if I'm right the default is 30 seconds.

On the other hand, 30 seconds to connect is rather long, and speaks to the load on your server. Look at SQL and see if there are orphaned connections that are taking up CPU and memory. Look at increasing the ram and/or max memory setting on your server.

HTH
  David

PS Need to know more about your SQL Server to assist further
0
 
regsampAuthor Commented:
The connection timeout is currently 30. The ram is currently 8 GB as it is a new HP DL 360 and the SQL database is 2008 R2. After rebooting the error was cleared. We are a small company and at the most there would be 40 people connected to this site at one time.
0
 
David ToddSenior DBACommented:
Hi,

What size is the database?

Did you check the connections prior to rebooting?

Regards
  David
0
Transaction-level recovery for Oracle database

Veeam Explore for Oracle delivers low RTOs and RPOs with agentless transaction log backup and transaction-level recovery of Oracle databases. You can restore the database to a precise point in time, even to a specific transaction.

 
regsampAuthor Commented:
The database is 50 MB and unfortunately I did not. I had some Executives who insisted right away.
0
 
Vitor MontalvãoMSSQL Senior EngineerCommented:
After rebooting the error was cleared
Next time this happens don't reboot. Connect to SQL Server and check for locks or any long running query or process. Should be something in the SQL Server side that don't allows the engine to be in a responsive state.
0
 
regsampAuthor Commented:
Okay, I have Activity Monitor ready this time and just check under Processes and see if it happens again? Where would Queries be checked right away?
0
 
Vitor MontalvãoMSSQL Senior EngineerCommented:
Check for processes with LOCK flag on. They are consuming resources and may let the server without enough resources to accept more connections.
0
 
regsampAuthor Commented:
Okay, will do.
0
 
David ToddSenior DBACommented:
Hi,

One quick way is to do a count of the syslocks table. If this number starts to climb by orders of magnitude, then there are some large queries running.

I've used this when there were several ETL procedures needing to be run and I was running them together, or when a replication was be reset with multiple publications. It let me know when to back off and wait a bit.

That is, it can be indicative of how SQL is being loaded.

Kind regards
  David

PS To those executives, if this reoccurs tell them that you learnt almost nothing last time, and want to find out a few more of the whys this time around. Suggest that you ask for 5-10mins before starting the reboot to get a few clues. And take some benchmarks first while things are normal. Get used to what sp_who and sp_who2 look like. 50MB is fairly small by todays standards.
0
 
regsampAuthor Commented:
I have not done a lot of SQL monitoring so how do I get a solid count of the syslocks? I want to see if I can have some good solid measures that are worth it while trying to hold off the executives.
0
 
David ToddSenior DBACommented:
Hi,

use tempdb
go

select count( * )
from master.sys.syslockinfo
;

Open in new window


If the count is a smallish number (say a thousand or less), then maybe worth getting the actual results. Which will need to be referenced against actual connections ie sp_who and sp_who2.

As sp_who are sp_who2 are procedures, you can get the text of them and see which tables and DMV's they reference. The number of locks each connection holds may help identify the connection(s) causing your issues.

HTH
  David
0
 
regsampAuthor Commented:
Okay, I will look into that procedure. Thank you
0
 
Vitor MontalvãoMSSQL Senior EngineerCommented:
Do not use syslockinfo. It's an old table from SQL Server 2000 and now it's a view that exists only for backward compatibility. The information that returns is not accurate. Even counting locks is not a good solution for monitoring (because there are different kind of locks) if you still want to perform a lock count you can use the following query:
SELECT COUNT(blocking_session_id)
FROM sys.dm_os_waiting_tasks

Open in new window

0
 
Vitor MontalvãoMSSQL Senior EngineerCommented:
Here is the query that return the number of blocking sessions by wait type:
SELECT wait_type, COUNT(blocking_session_id)
FROM sys.dm_os_waiting_tasks
GROUP BY wait_type

Open in new window

0
 
regsampAuthor Commented:
Okay, let me look more into that query if that will get the results quicker.
0
 
Vitor MontalvãoMSSQL Senior EngineerCommented:
Did you find the issue?
0
 
regsampAuthor Commented:
Not yet as the issue has not reoccured. I have been trying to watch for any issues but nothing yet.
0

Featured Post

What is SQL Server and how does it work?

The purpose of this paper is to provide you background on SQL Server. It’s your self-study guide for learning fundamentals. It includes both the history of SQL and its technical basics. Concepts and definitions will form the solid foundation of your future DBA expertise.

  • 8
  • 5
  • 4
Tackle projects and never again get stuck behind a technical roadblock.
Join Now