SHARE
Facebook X Pinterest WhatsApp

SQL Maintenance Plans and Backed Up Databases: Pt. 2

Written By
thumbnail
Bruce Szabo
Bruce Szabo
Jun 3, 2002

Introduction

In the first part of this series, a script was used to query an SQL
server for databases
that were being backed up as part of the maintenance plans. This allows one to determine if
a database is part of a maintenance plan. It would, in most cases, be nice to have the
pertinent backup information on hand. The following class will return the relevant
backup information from the maintenance plan so it can be viewed in a more user friendly manner.

If the script presented from the first series is combined with this script one would be able
to loop through all the databases in the maintenance plans and return their individual
backup information to a user interface. By taking these classes and converting them to
ASP scripts, a web page can be created to display the current backup situation on
a given SQL server.

Some of these techniques will be presented in upcoming articles. In this article, however,
a script to present the backup information is going to be presented.

An Example

The code for this article can be found here. The following is an example
of the code needed to return the backup information for a given database. By entering
the server and database name, one can query to find the last backup for
a given database.

There are two message boxes here that return the backup information. The
message boxes demonstrate two ways information can be returned from the class. The
first method is to use GetBackUpHist. This method of the class returns
a text string with all the backup information put together. The second method takes
each individual element and builds the text string. This is useful to add formatting or
to write information to a file if the class was used as part of an inventory type script.

Click here for code example 1.

The UserID and Password properties are optional. If the SQL server is running
with integrated
security and the logged in user is an administrator on the SQL server, the information will be returned
without the UserID and Password properties.

The Class

The beginning of the class has an explanation for the properties and methods of the class. This
section is not enumerated. The enumerated section of the code starts by initializing the needed
variables (lines 1-18). The only code needed in the initialize routine sets the security variable
to integrated security by default. The terminate routine closes the connection to the server.

Lines 28-116 are where the let properties are defined. These are the five settings the user has
the ability to control. In this case the user can set the SQLServer, the Database, the UserID, the
Password, and the Security. When the SQLServer property and the Database properties are set, a check
is made to see if both properties have been set (lines 30 and 68). If both properties have been set
the rest of the let property routines behave the same for these two propeties.
A SQL statement is constructed, a connection is open and a
recordset is returned. The record set is checked to make sure it is not empty and the values are
read into the variables. When the recordset values are read into the private variables they are then
available as properties to the users via the get statements which will be discussed below.

The UserID and Password properties need to be set, as mentioned above, if the server will not
be accessible via integrated security. The security setting does not need to
be set as it is set to integrated
by default. This setting might be used if one wanted to change servers and databases. One server
may be able to use integrated security while another needs an SQL login.

The class has eight get properties, which are the properties the user can get once the object has been
instantiated. The SQLServer and Database properties should be known so they may not
need to be returned. The other
six properties (lines 118 – 148) can be used by the user to format the database backup information.
StartTime, EndTime and Duration give the user an idea of how long a backup takes. The success
property lets the user
know if the backup was successful. The plan property lets the user know which database maintenance
plan the backup is a member of
and the message property lists where physically the backup was written.

Lines 151 – 168 are a private routine to open a connection to the database. Lines 170-172 are a private
routine to close the connection to the database. The close routine is called by the
terminate routine. The final method
is the GetBackuHist. This method returns a string with the same
information returned by the individual
properties. This method is used mostly for troubleshooting or in a case
where a script needs to return
information without regards to format.

Click here for Class code (opens in new window).

Conclusions

This routine is used to query maintenance plans for information regarding backups. The routine allows
one to draft formatted messages using the properties of the class. The class can be used in conjunction with
other routines to create a reporting mechanism for SQL backup procedures.
In the next article, both this script and the previous script will be used in conjunction with SQL-DMO to find servers and query the
maintenance plans on those servers.


»


See All Articles by Columnist
Bruce Szabo

Recommended for you...

Best Online Courses to Learn SQL
Ronnie Payne
Sep 23, 2022
Best Courses for Database Administrators
Ronnie Payne
Jul 22, 2022
Tip 74 – Changing Cost Threshold for Parallelism
Gregory Larsen
Feb 24, 2021
How Many Databases Can You Name?
Brad Jones
May 11, 2020
Database Journal Logo

DatabaseJournal.com publishes relevant, up-to-date and pragmatic articles on the use of database hardware and management tools and serves as a forum for professional knowledge about proprietary, open source and cloud-based databases--foundational technology for all IT systems. We publish insightful articles about new products, best practices and trends; readers help each other out on various database questions and problems. Database management systems (DBMS) and database security processes are also key areas of focus at DatabaseJournal.com.

Property of TechnologyAdvice. © 2025 TechnologyAdvice. All Rights Reserved

Advertiser Disclosure: Some of the products that appear on this site are from companies from which TechnologyAdvice receives compensation. This compensation may impact how and where products appear on this site including, for example, the order in which they appear. TechnologyAdvice does not include all companies or all types of products available in the marketplace.