SQL backup basics

Posted on 2013-05-21
Last Modified: 2013-06-06
Can i ask for MS-SQL 2005, 2008, are there any useful free techniques to get a report of whats being backed up, how often, where the backup file is being written to, and ideally FLAG up databases where no backup job is configured, or it hasnt worked for some time, across all your databases? I assume its one backup job per database, not one backup job per instance?
Question by:pma111
  • 2
LVL 29

Accepted Solution

Rich Weissler earned 250 total points
ID: 39184159
Starting somewhere in the middle.  Last winter I got to see Mike Hillwig speak during a SQL Saturday, and he presented a framework for alerting from SQL Agent, which had the advantage of being free.  One of the example alerts he set up was to report databases which hadn't been backed up in a while.

Normally I have a few backup jobs per instance... but one job might be performing full backups of all the 'user' databases, one full backups of the system databases, and another job performing transaction log backups of most of my databases, and another to perform log backups of databases I love.

And I hate to just redirect you to someone else's blog, but I think they're going to be more comprehensive than I will.  The data you want is in the MSDB database... and other folks have written scripts to give you back all kinds of information about what backups have been preformed, etc.
LVL 57

Assisted Solution

by:Raja Jegan R
Raja Jegan R earned 250 total points
ID: 39184176
Ideally one backup job per instance should be sufficient and you can use SQL Server Maintenance Plans to achieve it.

Author Comment

ID: 39184553
Razmus can those scripts provide false negatives. I.e. if you do an "all user database" backup, would that tool say you've done no backup to this database, when in reality it may have been swept uip in the instance level backup. As I am no DBA I dont really understand the difference between user level backup and system level backup.
LVL 29

Expert Comment

by:Rich Weissler
ID: 39185573
> I.e. if you do an "all user database" backup, would that tool say you've done no backup to this database, when in reality it may have been swept up in the instance level backup

The one backup job that handles the instance would backup individual databases.  You wouldn't have a separate backup that backs up the instance in a block.  (At least not with the tools native to SQL, which would then write the results into the msdb database.)  I can't think of a way for a false negative to occur, unless you truncated the history to a period of time shorter than your period between full backups, and I can't imagine a good reason that would occur.)

> [...] difference between user level backup and system level backup.

Not really levels of backups...  MS SQL Server has a small handful of databases it uses internally.  Specifically Master and MSDB should be backed up.  Model is the database used as a template to create new databases.  Those would be the system databases to be backed up.  (There's also a hidden resource database and the tempdb, but you woulnd't need to worry about performing backups on those.)  The system databases don't usually need to be backed up quite as frequently as the databases that contain the data everyone other than the DBA really cares about: payroll, sharepoint, vmware logs, etc.  I tend to backup master and msdb weekly, and after major system changes.  User databases I backup daily.  Then there are the transaction log backups that usually trip people up.  If the database is in FULL or BULK_LOGGED recovery mode, if you don't backup the transaction logs, they grow forever.  The only way to keep the logs under control is with backups.  But that's okay, because those transaction log backups make it possible to restore databases to a specific point in time.  I usually perform transaction log backups several times per day.

Featured Post

U.S. Department of Agriculture and Acronis Access

With the new era of mobile computing, smartphones and tablets, wireless communications and cloud services, the USDA sought to take advantage of a mobilized workforce and the blurring lines between personal and corporate computing resources.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
T-SQL: Nested CASE Statements 4 24
Sql query 107 29
Need a SQL Server 2014 plug-in to scan the DB schema 4 17
ebay table structure 2 14
Ever needed a SQL 2008 Database replicated/mirrored/log shipped on another server but you can't take the downtime inflicted by initial snapshot or disconnect while T-logs are restored or mirror applied? You can use SQL Server Initialize from Backup…
Ever wondered why sometimes your SQL Server is slow or unresponsive with connections spiking up but by the time you go in, all is well? The following article will show you how to install and configure a SQL job that will send you email alerts includ…
Using examples as well as descriptions, and references to Books Online, show the documentation available for datatypes, explain the available data types and show how data can be passed into and out of variables.
Viewers will learn how the fundamental information of how to create a table.

895 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

18 Experts available now in Live!

Get 1:1 Help Now