Solved

Alert for SQLServer:Databases:Percent Log

Posted on 2011-09-08
9
330 Views
Last Modified: 2012-05-12
I have received alert for Desc: SQLServer:Databases:  Percent Log Used:  DATABASENAME Value = 77.3333333333333;
but when i check in the perfmon it is showing the average value between 17 and 18 and max value between 39 and 46.
I dont know why i got this alerts?If i am getting this alert what should i check in DB?
0
Comment
  • 4
  • 3
  • 2
9 Comments
 
LVL 17

Expert Comment

by:dbaSQL
Comment Utility
Go into SSMS, your server name \ SQL Server Agent \ Alerts.   Look for the alert with that description.
0
 
LVL 39

Expert Comment

by:lcohan
Comment Utility
just little bit more details how to do that - under the SQL Agent->right click Alerts->select New alert and set it like below to suit your needs:

  tlog alert
0
 
LVL 39

Expert Comment

by:lcohan
Comment Utility
Sorry didn't read your question carefully....you should check your DB files uder DB properties and make sure you have regular bakups - FULL and T-logs otherwise your logs will just grow huge in time.

you can run query below to see space alocated/used in your DB:

use your_db
go

--check db files
SELECT name,size/128.0 as SizeInMB ,size/128.0 - CAST(FILEPROPERTY(name, 'SpaceUsed') AS int)/128.0 AS AvailableSpaceInMB
FROM sys.database_files;
0
 
LVL 5

Author Comment

by:VIVEKANANDHAN_PERIASAMY
Comment Utility
Thanks Experts!

I tried belowDBCC command to find out the log space,

dbcc sqlperf(logspace)

But I have doubt in this,
My log file initial growth is 15101 and there is no autogrowth and alerts is configured for more than 60%
when the alert was received it was 77.33% but when checked the space it was just 0.54%.
How this could have decreased from 77.33% to 0.54%.
How the used space are decreasing from higher value to lower value?What is the happening internally?
0
Threat Intelligence Starter Resources

Integrating threat intelligence can be challenging, and not all companies are ready. These resources can help you build awareness and prepare for defense.

 
LVL 17

Accepted Solution

by:
dbaSQL earned 500 total points
Comment Utility
SQL reserves a minimum of space for each log, by default, and it is always reported as 'in use'.  It may have been that you had active transactions at the time of the alert, and possibly a log record was flushed to disk in between the alert and when you checked it.  Hence, the decreased % used.

Check out this article, it gives a good explanation of the sqlperf.  http://support.microsoft.com/kb/281879

This one also provides more detail about the SQL Server I/O, and data nd log records being flushed to disk.  Or, 'what is happening internally':
http://technet.microsoft.com/en-us/library/cc966500.aspx

0
 
LVL 5

Author Comment

by:VIVEKANANDHAN_PERIASAMY
Comment Utility
thanks Understood,

I have some doubts in this, When we use recovery with 'stopat' or 'stopbefore'syntax , then from where did the old data's are fetched? is it not from ldf file where transaction logs acts as pointer to the data in the ldf file?
0
 
LVL 17

Expert Comment

by:dbaSQL
Comment Utility
well, i'd need a better idea of what was actually occurring from the time of the alert, to the point that you checked it.  were you actually in the process of retoring the database to a point in time, using stopat?  If restoring from a full backup, SQL is recreating the db in entirety.  It includes the tran log records (or your ldf), and after the restore completes, all of the uncommitted transactions are rolled back.  

The backups themselves, of course, copy all commited data to the db, and all uncommitted log entries (ldf).  When it starts, it puts a marker on the tran log, but the activity (transactions) will continue while the backup is running.  At the point of completion, it just captures all transactions since the starting marker.  The uncommitted transactions aren't backed up, but they are copied in, and then rolled back.

surely you're aware of this already.  i guess i would need a better understanding of the actual activity, at time of the alert and after, in order to help.
0
 
LVL 5

Author Comment

by:VIVEKANANDHAN_PERIASAMY
Comment Utility
thanks actually i got the answer from your previous post.
I will open a new question on this.

Appreciated your work!
0
 
LVL 17

Expert Comment

by:dbaSQL
Comment Utility
glad to help!
0

Featured Post

How to run any project with ease

Manage projects of all sizes how you want. Great for personal to-do lists, project milestones, team priorities and launch plans.
- Combine task lists, docs, spreadsheets, and chat in one
- View and edit from mobile/offline
- Cut down on emails

Join & Write a Comment

In this article I will describe the Copy Database Wizard method as one possible migration process and I will add the extra tasks needed for an upgrade when and where is applied so it will cover all.
Load balancing is the method of dividing the total amount of work performed by one computer between two or more computers. Its aim is to get more work done in the same amount of time, ensuring that all the users get served faster.
Familiarize people with the process of utilizing SQL Server functions from within Microsoft Access. Microsoft Access is a very powerful client/server development tool. One of the SQL Server objects that you can interact with from within Microsoft Ac…
Via a live example, show how to setup several different housekeeping processes for a SQL Server.

772 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

14 Experts available now in Live!

Get 1:1 Help Now