Share via

Sql Server unresponsive - slower

pdsqsql 436 Reputation points
2021-01-19T18:51:50.263+00:00

Hello,
I have Sql server 2014 which host 3rd party Sql server management tool and frequently becoming unresponsive - slower.
Even though Sql server I tried to login but can't browse as too slow I can't check much what's going on Sql server and I have to restart the server then it functioning normal.
As per my thinking it's consuming all the CPU.
Sometimes it's happening during day time also and today I noticed from Sql server log, it happened after DBCC check DB command which we run every early morning as a maintenance.
We have 16 GB Memory and 4 CPU Processor.
Any way I can see before or after what actually happening so I can do some troubleshooting?
Is it anything I can setup to capture so I have some idea what will be causing to get server unresponsive - slower?

Thanks for your help!

SQL Server | Other
SQL Server | Other

Additional SQL Server features and topics not covered by specific categories


3 answers

Sort by: Most helpful
  1. CathyJi-MSFT 22,431 Reputation points Microsoft External Staff
    2021-01-20T10:17:51.1+00:00

    Hi @pdsqsql ,

    If the percentage of CPU usage is more than 90, it will cause SQL server slower. Suggest you find out top usage CPU queries and adjust the queries. Please update statistics to maintain index fragmentation.

    > it happened after DBCC check DB command which we run every early morning

    If SQL server database is really large, DBCC Check DB command will have some performance issue. You can using PHYSICAL_ONLY option to shorter run-time for DBCC CHECKDB. Reduce the workload for DBCC. Please refer to MS document DBCC CHECKDB (Transact-SQL).

    If you want to collect more information about the performance issue. You can using PSSDIAG to collect various logs and data files.

    Please refer to MS blog PSSDIAG data collection utility to get more information.

    Best regards,
    Cathy


    If the response is helpful, please click "Accept Answer" and upvote it, thank you.

    Was this answer helpful?


  2. pdsqsql 436 Reputation points
    2021-01-19T23:49:06.697+00:00

    Thanks Erland.
    I already checked the Sql error log, no memory leak but found following:

    Date 1/19/2021 8:11:54 AM
    Log SQL Server (Current - 1/19/2021 3:01:00 AM)

    Source spid15s

    Message
    last target outstanding: 6, avgWriteLatency 552

    Date 1/19/2021 8:11:54 AM
    Log SQL Server (Current - 1/19/2021 3:01:00 AM)

    Source spid15s

    Message
    average writes per second: 2.56 writes/sec
    average throughput: 0.04 MB/sec, I/O saturation: 874, context switches 1079

    Date 1/19/2021 8:11:54 AM
    Log SQL Server (Current - 1/19/2021 3:01:00 AM)

    Source spid15s

    Message
    FlushCache: cleaned up 5520 bufs with 1700 writes in 346379 ms (avoided 115 new dirty bufs) for db 7:0
    last target outstanding: 800, avgWriteLatency 8

    Was this answer helpful?


  3. Erland Sommarskog 134.7K Reputation points MVP Volunteer Moderator
    2021-01-19T22:53:20.91+00:00

    16 GB - that is not much.

    You should check the SQL Server errorlog. There may be some revealing messages there, like out-of-memory conditions.

    If you cannot connect on a regular connection, you can try the ADMIN: connection, although by default it is not enabled for remote connection. And a local connection from SSMS when the machine is tanked and with that little memory does not sound a bright idea. But SQLCMD is less expensive - but also rougher.

    To connect one the admin connection say ADMIN:Server. Note that you are likely to get an error message saying that connection failed, but that is from Intellisense. There is only one ADMIN connection.

    If you use SQLCMD locallly you can say SQLCMD -A.

    Was this answer helpful?

    0 comments No comments

Your answer

Answers can be marked as 'Accepted' by the question author and 'Recommended' by moderators, which helps users know the answer solved the author's problem.