What Is Your Change Management Process?

Large(r) companies tend to have a defined process for implementing change in their data centers, but small(er) companies tend not to. (Your Mileage May Vary.) This makes sense, as large companies usually have more systems dependent on each other, and a change made to one system can dramatically impact the effectiveness of another system. Small(er) shops tend to feel that those implementing the changes know the impact of the change they’re making.

What is change management? Well, it’s a well-defined process to document changes made to your systems. The changes include hardware, software, network infrastructure, configuration settings, or anything that can disrupt the normal processing of your business applications. The process usually includes a description of what change will be made, who will make the change, when it will be made and (most importantly) what steps will be taken if the changes were unsuccessful. The changes are generally reviewed by people representing groups who will be impacted by the change. These people often have the responsibility to approve the proposed changes.

The documentation of the changes provides a great reference tool for those times when problems occur and are traced to some change event, because it’s then known when the change was made, by whom, and the anticipated effects of the change.

I think the most important aspect of the change management process is the backout plan should the change not be successful. In too many cases the processes necessary to reverse changes aren’t researched until after problems occur, when the change is disrupting business and there’s significant pressure on those making the changes to “get it fixed”. Sufficient time spent ahead of the change documenting what steps are required to back the change out can minimize the downtime and minimize that pressure.

(This is why flight training focuses so much on emergency procedures – keeping a level head when problems occur can truly save lives.)

If you haven’t implemented a comprehensive change management process it’s well worth your time.

 

About the Author

Microsoft SQL Server MVP and Practice Leader

Allen White

Allen White is a Microsoft SQL Server MVP and Practice Leader at UpSearch.

For over 30 years, Allen has specialized in developing applications that manage the movement of data and maximize data’s usefulness. Allen excels at communicating highly technical information using language that results in increased client engagement and understanding, regardless of technical competency.

Allen has been working with relational database systems for almost 20 years. He has architected database solutions in application areas like retail point-of-sale (POS), POS audit, loss prevention, logistics, school district information management, purchasing and asset inventory and runtime analytics. Allen thrives on providing comprehensive solutions to information management problems across a great variety of application environments.

Learn more about Allen White at https://upsearch.com/allen-white.

 

About UpSearch

up-social-round UpSearch provides as needed Microsoft SQL Server DBA Services across the globe. We specialize in helping leaders protect, unlock and optimize data’s value.

 

Checklists

One of the first things a pilot is taught is to use checklists. Everything from preflight to tie down after your return is covered in aviation checklists. Did you check the thickness of the brake pads? Did you actually look in the fuel tanks to see how much fuel you have (because guages can malfunction, just like everything else)? When you’re 3500 feet above the ground you can’t just pull over and see what’s wrong. (Once – on my second solo flight – had just taken off when there suddely was a loud flapping noise against the side of the plane. With a high level of anxiety I maneuvered through the pattern, got the plane back on the ground, and found I’d left the strap to my seat belt hanging out the door when I closed it, and it was hitting the side of the plane from the prop wash after I took off!)

As a DBA it’s your responsibility to ensure that everything is running properly, especially in your production environments. When things are running smoothly and you have time to think things through it’s easy to make changes without incident. Things aren’t always running smoothly when changes have to made. Sometimes you’re in the middle of a critical project and someone needs a major change. It’s easy to forget little details – things you’d normally never forget – when these requests are made. It’s moments like this when the checklist is really your friend.

We have an application that manages web sites for our trade shows, and it uses a master database for the application, and a database for each individual web site. Over the (almost) four years since we brought this application in house I’ve created hundreds of databases for the sites. Now, there are items on my checklist besides setting up the databases, because I handle those as well, but I don’t know of a business environment where you can focus on “just” the database issues.

  • Create the Datastore Directory
  • Create the Site Database
  • Configure the Global Database
  • Set up the Java Runtime Connections
  • Configure the Web Site
  • Confirm the Web Site is Working

The checklist doesn’t have to be complex (it can be if you’re passing it on to a junior DBA, but it doesn’t have to be.) It’s usually enough that you have the major steps, and some of the minor ones if they get a bit detailed. The important thing is that you have a reference to make certain you don’t miss anything when you need to get something done.

 

About the Author

Microsoft SQL Server MVP and Practice Leader

Allen White

Allen White is a Microsoft SQL Server MVP and Practice Leader at UpSearch.

For over 30 years, Allen has specialized in developing applications that manage the movement of data and maximize data’s usefulness. Allen excels at communicating highly technical information using language that results in increased client engagement and understanding, regardless of technical competency.

Allen has been working with relational database systems for almost 20 years. He has architected database solutions in application areas like retail point-of-sale (POS), POS audit, loss prevention, logistics, school district information management, purchasing and asset inventory and runtime analytics. Allen thrives on providing comprehensive solutions to information management problems across a great variety of application environments.

Learn more about Allen White at  https://upsearch.com/allen-white.

 

About UpSearch

up-social-round

UpSearch provides as needed Microsoft SQL Server DBA Services across the globe. We specialize in helping leaders protect, unlock and optimize data’s value.

 

Naming Conventions for Tables and Views

In years past I taught the Microsoft 2779B Implementing a Microsoft SQL Server2005 Database class, and in Module 7 (focusing on Views) I came across the following “tip”:

Tip: You should develop a consistent naming convention to distinguish views from tables. For example, you could add the letter v or the word view as a suffix to the name of each view that you create. This approach allows tables and views to be easily distinguished.

Now, I agree that you should develop a consistent naming convention, but I advised the students that (in my opinion) views are, from the user’s perspective, no different than tables. The relational model makes little distinction between tables (relational variables, or “base” relvars) and views (“derived” or “virtual” relvars).

In fact, in C.J. Date’s book An Introduction to Database Systems(8th Edition, Addison-Wesley/Pearson Education, 2004, pg. 75), Chris states “Indeed, the fact that a view is a relvar is precisely one of the strengths of relational systems; it is important in just the same way as the fact that a subset is a set is important in mathematics. Note: SQL Products and the SQL Standard often seem to miss this point, however, inasmuch as they refer repeatedly to ‘tables and views’ with the tacit implication that a view is not a table.”

In other words, from the perpective of an application or from the user, there is no difference between a view and a table. Now, we know that’s not completely true, because it’s easy to create a view that can’t be updated because it joins multiple tables, and the query processor can’t parse out what’s being updated amongst the various tables in the view. That’s a relatively easy problem to solve, however, with the INSTEAD OF trigger.

In a former company we had an application that manages web sites. It uses a master database for all sites, and then a database for each site. In each database is a table that the application uses to display exhibitors at our trade shows. Some of the trade shows have multiple shows around the country, and for these the site database is actually a set of databases with a parent database for the main site and child databases for the individual shows in the group. In the child databases the table is replaced by a view, presenting data in the parent database. The application had a problem with an update to this object, so I wrote the INSTEAD OF trigger, and the application works as it was supposed to. I didn’t have to create views in every database used by the application for this exception situation.

So, my point is that tables and views should follow the same naming standard – the difference between the two should be transparent to the user.

 

About the Author

Microsoft SQL Server MVP and Practice Leader

Allen White

Allen White is a Microsoft SQL Server MVP and Practice Leader at UpSearch.

For over 30 years, Allen has specialized in developing applications that manage the movement of data and maximize data’s usefulness. Allen excels at communicating highly technical information using language that results in increased client engagement and understanding, regardless of technical competency.

Allen has been working with relational database systems for almost 20 years. He has architected database solutions in application areas like retail point-of-sale (POS), POS audit, loss prevention, logistics, school district information management, purchasing and asset inventory and runtime analytics. Allen thrives on providing comprehensive solutions to information management problems across a great variety of application environments.

Learn more about Allen White at https://upsearch.com/allen-white.

 

About UpSearch

up-social-round UpSearch provides as needed Microsoft SQL Server DBA Services across the globe. We specialize in helping leaders protect, unlock and optimize data’s value.

 

Protected: T-SQL Tuesday #50 Automation

This content is password protected. To view it please enter your password below:

Protected: Highly Available Presentations

This content is password protected. To view it please enter your password below:

What is a Learning Management System?

A Learning Management System, or LMS, is an online application that enables any organization to plan, deliver and manage training with ease. LMSs are designed to capture and share the organization’s proprietary knowledge along with tracking and managing certifications. Supporting multiple languages, an LMS can also support 3rd party Tin Can, SCORM or AICC content and generate detailed reports.