Saturday, February 12, 2011

SOAPWare 4.8 Database Backup Instructions

I have been helping my father out with his information technology systems at his office. He is a pulmonologist down in Silver City, New Mexico and all of his patient records are stored electronically. I'm the IT guy that comes in every few weekends to keep things running smoothly.

Part of what I consider an important portion of helping people out with their IT infrastructure is determining what level of redundancy is appropriate for them. My mother manages my dad's office, and agrees with me that the ancient Windows 2000 database server storing patient records needs to have a hot swappable spare. This weekend, I constructed such a hot swappable system. Below, you will learn how to do this same thing. This blog post exists for three purposes:

  1. If I stop being the network administrator for my father, the next administrator will be able to pick up these notes (in addition to those taken in a leather bound notebook) and not have to rediscover everything from scratch.
  2. Other people in the world may need to maintain such legacy systems, and find this post useful (or contract with me to perform such maintenance!)
  3. I want to be able to remember exactly what I did, so when I need to do the same thing a year or two later, I can easily remember.
This document does not exist to allow nontechnical people at my dad's office to perform backups. Things can be extremely broken by tinkering around with the database through the below mechanisms.

SOAPWare 4.8 is a difficult piece of software to maintain. It is well past it's end of life date, and it uses other, older, pieces of software to help it function. Our installation uses MS SQL7 as it's database back-end. As the first portion in this series on administering older SOAPWare systems, this blog post will cover backing up an existing MS SQL7 database. In a later post, I will carefully describe how I took those backups and created another MS SQL7 dabase, on a virtual server, which I then connected a SOAPWare 4.85.06 client to. All systems mentioned below are on a totally isolated network.

A book that helped me a great deal was SQL SERVER 7 : A Beginner's Guide, by Petkovic. This book cost me a $0.01 from Amazon, and then a few bucks to ship it. I ordered three other MS SQL7 books, one of which was worthless, the other which was helpful, this one which contained exactly what I needed, and a forth which I did not open because I already found the information I needed. These books cost less than fifteen bucks in total, shipped.

If you're going to buy it, use the above link and maybe I'll get a fraction of a penny from the sale. However, if you follow the instructions on this post, you won't need to buy the above book.

The first thing to do is to start up "Enterprise Manager", which is the utility that MS SQL7 uses for managing everything. Do not try and accomplish any of this on the command line, as you would do in Linux, or with any other database you are familiar with. For me, this is located under "Programs" -> "Microsoft SQL Server 7.0" -> "Enterprise Manager".

Figure 1 - Opening the "Enterprise Manager"

After "Enterprise Manager" opens, you will notice the sw_ databases present. These are what SOAPWare uses to store your patient information. There are six of these. They are:
  • sw_chart
  • sw_codes
  • sw_exch
  • sw_image
  • sw_trans
  • sw_users
Figure 2 - Hopefully You See Some of these Databases

The below steps are what you will do for all of the sw_ databases. We will begin at the top, and work our way down, backing up databases as we go. Right click on a database, go to "All Tasks" -> "Backup Database."

Figure 3 - Bringing up the Backup Dialog

Once you have the backup dialog up, make sure to type in something useful for the name, and remember where you are putting these backups. Then click "OK" to start the backup.

Figure 4 - Backup Dialog

Figure 5 - Hopefully You See "Backup in Progress" and not Something Terrible

Figure 6 - Backup Successful

Repeat the above steps for every database that SOAPWare uses (likely those beginning with sw_) . After you are finished with this, you should verify that your backups have been created with a somewhat reasonable time stamp.

Now, you have backups of your MS SQL7 SOAPWare database! In a later post, I will show you how to take these backups and create a fully redundant SOAPWare database server.

Friday, February 4, 2011

Broken Pipes + Playboy of the Western World

This Friday provided quite a challenge to my organizational abilities and peace of mind. The only thing I planned on doing on Friday was attending a play, titled "Playboy of the Western World" put on by the Adobe Theater here in Albuquerque. One of my buddies caught a ride to Santa Fe with me in order to snow board. He was 25 minutes late to my house, making it so I did not get to work as early as I would like. While at work, one of my tenants called to inform me that my pipes had broken, and my garage was filling up with water (see the below picture.) As that instant, I remembered speaking with my mother, and agreeing that I should put a space heater in my garage to prevent this from happening, and then immediately forgetting. So, I called my buddy and he replied that he was leaving the mountain now, and would be there shortly. 1.75 hours later, he arrived at my work.

The Beautiful Fountain

Luckily, my friends David and Efrain were able to pick up supplies for me to make this project progress as quickly as possible and work in parallel while I was driving back from Santa Fe. We shut off water from the main, stopping the leak and leaving everyone in my three apartments (Greg, Ben + Franciska, Me + 3 house guests) without water for a short time. Luckily, my tenants are some of the most flexible people, and were much all right being without water for a few hours.

After shutting of the main, Dave and I went to see the amazing play! My friend Kristina Caffrey invited us to to attend the play she is in titled "Playboy for the Western World." The play was funny, well staged and generally a positive experience. For only $15, the play was an extremely good value compared to seeing one of the pieces of crap Hollywood puts out and Albuquerque consumes for $12 at Century {12/21}. After the play, Dave, Kristina and I went for appetizers and drinks at Zinc, an extremely pleasant place to drink a beer and listen to music.

Unfortunately, these shut offs were not effective for the leaks

There were three things that helped me maintain my piece of mind during this process. The first was that I could depend on my good friends Dave and Efrain to help me solve this problem. Efrain has skills at plumbing, and was able to reason through intelligent solutions and alternatives with me. Additionally, his plumbing skills allowed him to pickup all of the necessary supplies for actually fixing this project. Dave helped with the soldering, and other logistics associated with this project.

The second element was how flexible my tenants are. They were without water for a total of six hours. After Albuquerque had temperatures of -7F, which are twenty year records, they understood we might have some slight infrastructure problems. My tenant Greg tried to shut off water at the main, and was very understanding about any issues that would occur. Ben and Franciska were understanding and cool as well.

The third thing that helped me was the ability to improvise and the familiarity with tools and construction techniques my father taught me. If you mess up a project, come up with a way to make your error into a beautiful embellishment. As a result of his training, I am extremely familiar with numerous tools and construction techniques. If it were not for this training, being a landlord would not be a viable economic enterprise for me.

Combining these three things I am grateful for, with the fact that these pipes burst in an ideal position (unused washer hook-ups which could simple be disengaged through sweating caps on with a torch) made it so I was able to fulfill my duty as a landlord, and still have a fun time at the play.

The Final Solution - Cap The Pipes