Category: Editorial

  • Avoiding Logging

    I can avoid this kind of logging, but not SQL Server's kind.

    As I have been studying more about SQL Server internals this year, one of the myths that keeps being debunked is the idea there are operations in SQL Server that are not logged. That’s not true as everything you do in SQL Server is logged to the transaction log in order to ensure that SQL Server remains ACID compliant and cannot end up in an unrecoverable state.

    I’m not sure where this myth started, but I suspect that some version of the telephone game is at fault. I constantly see people asking for a way to insert or delete data from SQL Server without affecting the transaction log. One of these wish list requests likely got transformed into an imaginary feature that many people think has to exist in the product. Surely there is the capability to not log things if they are deemed unimportant.

    There isn’t, and you can’t, and I’m not sure that I’d even want this feature. Logging introduces overhead, and it can slow down processing, but it also provides a tremendous amount of safety and security. Computers will crash, power will get turned off, and hardware will fail. Mr. Murphy will ensure that one of these will occur while a large import of some sort is taking place. I don’t know how the rest of you feel, but personally I would prefer that when my database is restarted, I can be sure that my data is in a consistent state. Transaction log logging ensures this is the case in SQL Server.

    We often make decisions based on the data sets we have, and for the most part we want to be sure that all the data we added, updated, or removed from the system is in a known state. We do not want to accept partial transactions being recorded. We need to be sure that every debit into an account is matched up with a credit out of another account. Too many people seem to think that either their systems will never crash, or that this reliability can be guaranteed without logging.

    Accept the overhead of logging, and be glad that it’s unavoidable. At some point in your career, I’m sure you’ll be grateful.

    Steve Jones


    The Voice of the DBA Podcasts

  • The Wisdom Department

    If only wisdom were this easy to come by

    The more that I work in business, the more that I think that there truly is more to a company just maximizing the amount of money you can make. We often say that a business exists to maximize profit, but we never seem to care about the profit we can create outside of the money on the bottom line. There are all sorts of goodwill, long term growth, market share and more that often aren’t considered when running the business.

    This blog post tries to talk about how the business ought to get a makeover and establish new habits each year, just as many of us try to do with New Year’s Resolutions when the calendar changes. It’s a great goal, and while I’m not sure how many companies would try to evolve beyond the next quarter’s bottom line, I do think this is worth passing along to your management.

    In our departments, we often talk about maximizing our value to the company. Getting an amount of work done that helps the business and justifies the costs that we incur in technology and staffing. I would like to think that most of us in technology do look forward, consider the applications we build and the systems we develop as long term investments, and we build them with the idea that they will provide a long term value, not just for the next quarter.

    It might be worth setting up your own wisdom committee inside of your IT department, with the goal of ensuring long term value from the department.

    Steve Jones


    The Voice of the DBA Podcasts

  • SLA Contracts

    What's your contract?

    One of the things that is important for developing a high availability or disaster recovery is knowing what commitments you need to honor for your clients. After all, if you don’t know how quickly you need to be back up, or what protections for data are required, how can you plan to recover systems?

    Yes, I know everyone always wants 100% uptime and 100% data recovery, but those things are very expensive, and sometimes not possible on you systems, so doesn’t it make sense to have some idea of the relative importance of data in each system?

    For this Friday, I wanted to ask the DBAs out there about the contracts that should exist between the technology infrastructure and Its business clients. The question this week is:

    Do you know what your SLA is?

    Do you actually have a written contract for various systems with the clients that spells out specifically the acceptable uptime and data loss parameters? If so, do you know what those numbers are?

    You do need to have some idea of what is acceptable, even if it’s not a guarantee in a contract. It’s necessary in order to efficiently plan what level of resources will be devoted to your systems. Without this, you might be making investments on the wrong systems, leaving those systems that are more important from the business perspective, exposed to more data loss than can be tolerated.

    Steve Jones


    The Voice of the DBA Podcasts

  • Bad IT People

    Know Your Enemy – A tenet of IT Security

    It’s going to happen. Someone, somewhere, is going to deliberately compromise security and abuse their position as an administrator. Hopefully it doesn’t happen at your company, but the longer you are in IT, the better chance you have of being around when a “security DR event” occurs.

    This article talks about IT people going bad, and it happens more often than we hear about. Many companies don’t want to disclose these types of events, and it’s possible one happened in your organization already.

    This is nothing new. In every industry in which I’ve worked there have been people that take advantage of loopholes in systems and processes to engage in criminal activity. I have had liquor stolen from bars and lumber from a warehouse. We can’t prevent all of these activities, and companies know this. Usually there is a line in your accounting system that marks these losses as some cost of doing business.

    As with many external hacking issues, companies are likely to try and prevent anyone from finding out about these activities outside of the company. That’s not a great solution for anyone, since often these employees are let go and hired by the next company who has no idea what the person they just hired has done.

    You shouldn’t participate in these activities, and you ought to turn in those that do. However I know many people find that harder to do when confronted by this situation. At the very least, if you turn a blind eye, don’t help prolong a bad IT person’s career in this business. Don’t give them any sort of recommendation, and don’t include them in your personal network in any way.

    Steve Jones


    The Voice of the DBA Podcasts