SQLServerCentral - www.sqlservercentral.com

A community of more than 1,600,000 database professionals and growing

Featured Contents

The Voice of the DBA

What's Downtime?

There was a time when I worked for a company that sold products on-line  Since our wares could be purchased at any time of the day or night, we wanted to ensure that our systems were running all the time. This led us to build some sort of monitoring, which we tried. That led us to buy some monitoring software, which we did. This led us to build more tools, and it felt like we were in an endless loop for a period of time.

Eventually we stepped back and tried to answer the question that many Operations people have asked themselves and others: what is downtime?

It's a tough question, and I want to give you a few examples of how I've viewed things, and debates I've had. For example, we had a database server and a web server. We used a simple script to ensure that the services (IIS and SQL) were running on both machines. If they weren't, we received a page. Is that sufficient to detect if our system is working?

We also had a process that would ping our web server from outside the data center, using a public machine. If that works, is the system working?

In this job, we deployed new code every week, in a DevOps style process that existed before anyone had ever uttered the term. These updates sometimes included schema changes, but almost always included application changes. If a page on our website broke after a deployment, was our system up or down?

We integrated with some third party software to perform various tasks. There were times that we couldn't communicate with the third party, or received broken communications. In those cases, were we up or down?

We built our application to work with multiple browsers, but at times there would be a new piece of functionality that didn't render or work correctly on either a new (Firefox)  or old browser (IE6). Did that mean the application was down?

Determining uptime isn't a single thing. Even when you provide mechanisms that ensure all parts of your application are working, are they working for everyone? Many of us might see this in various online calls, where a system like GoToMeeting or Skype might work for some of the audience and not others. I see this at times with Microsoft sites where some of us can use one of their online systems, but others can't, sometimes because of the browser of the end user. 

I was thinking about this while researching zero-downtime deployments, which can be hard for database changes. There are people that have success, but many others don't. At Redgate Software, we are trying to build tools to make this easier for everyone, but there seem to be plenty of edge cases that cause issues. There are also many different processes and flows that groups use to perform database development, which often affects the final deployments. It is hard to build a general solution that needs to apply to specific environments.

I tend to learn towards measuring uptime of the systems I'm responsible for and letting others worry about intermediate infrastructure. I'll caveat that with the note that I sometimes only worry about sections of the system and if those are broken. It's good to be clear when talking about this topic with others. For example, we might be able to take orders, but can't report on them, or can't add new customers. That's downtime for some sections of our application, but less stressful than if we couldn't take orders.

Let us know today. How do you measure downtime or uptime, and where is your responsibility?

Steve Jones from SQLServerCentral.com

Join the debate, and respond to today's editorial on the forums


The Voice of the DBA Podcast

Listen to the MP3 Audio ( 5.5MB) podcast or subscribe to the feed at iTunes and Libsyn. feed

The Voice of the DBA podcast features music by Everyday Jones. No relation, but I stumbled on to them and really like the music.

ADVERTISEMENT
SQL Prompt

Write, format, analyze, and refactor SQL fast with SQL Prompt

Writing SQL is 50% faster with SQL Prompt. Your SQL code can be formatted just the way you like it, you can create and share snippets with your team, and with code analysis you get suggestions to improve your SQL as you type. Download your free trial

SQL Source Control

How to track every change to your SQL Server database

See who’s changing your database, alongside affected objects, date, time, and reason for the change with SQL Source Control. Get a full change history in your source control system. Learn more

Featured Contents

 

Avoiding Unexpected Results with DATEDIFF in Year Comparisons

David Strack from SQLServerCentral.com

Learn how to avoid unexpected results when using the DATEDIFF function to find the difference between two dates in years. More »


 

Mount SQL Server DMVs and Custom Queries Using DBFS on Linux

Additional Articles from SimpleTalk

With SQL Server now supported on Linux, traditional SQL Server DBAs will need to learn how to work with Linux, and Linux administrators will need to learn how to work with SQL Server. Fortunately, there are several tools available to assist. In this article Prashanth Jayaram describes how to work with the DMV tool which treats queries as files. More »


 

From the SQLServerCentral Blogs - Encrypting SQL Server Database Backups

david.fowler 42596 from SQLServerCentral Blogs

We all go to great lengths to make sure that our databases are secure (or at least I really hope... More »


 

From the SQLServerCentral Blogs - Why didn't my Azure ARM deploy work?

Ed Elliott from SQLServerCentral Blogs

I have been using Octopus to deploy ARM templates for a while now and the default task that comes with... More »

Question of the Day

Today's Question (by Steve Jones):

I run this code:

 SET CONTEXT_INFO 12 GO SELECT CONVERT( INT, CONTEXT_INFO()) 

I get a result of 0. Why?

Think you know the answer? Click here, and find out if you are right.


We keep track of your score to give you bragging rights against your peers.
This question is worth 1 point in this category: context_info().

We'd love to give you credit for your own question and answer.
To submit a QOTD, simply log in to the Contribution Center.

ADVERTISEMENT

Expert Scripting and Automation for SQL Server DBAs

Automate your workload and manage more databases and instances with greater ease and efficiency by combining metadata-driven automation with powerful tools like PowerShell and SQL Server Agent. Automate your new instance-builds and use monitoring to drive ongoing automation, with the help of an inventory database and a management data warehouse. Get your copy from Amazon today.

Yesterday's Question of the Day

Yesterday's Question (by Steve Jones):

In SSMS 17.5, there is a new featuer that allows you to classify data with various sensitivity levels. This is  a database level task that allows you to set a sensitivity level for different columns. How is this implemented in SQL Server for the meta data storage?

Answer: The data is in an extended property for the column

Explanation:

If you classify data, the metadata is stored in an extended property for the column.

Ref: Classifying Data with SSMS 17.5 - click here

SQL Data Discovery and Classification (comment section) - click here


» Discuss this question and answer on the forums

Database Pros Who Need Your Help

Here's a few of the new posts today on the forums. To see more, visit the forums.

SQL Server 2017 : SQL Server 2017 - Administration

Alwayson Availbility group extended to Azure - Can databases on-Premise  Alwayson Availability group of SQL server 2017 failover to Microsoft Azure SQL database (PaaS)? Or it has to be...


SQL Server 2016 : SQL Server 2016 - Administration

Reporting/HA design advice- FCI with AG - Looking for advice on design for Reporting solution. What we currently have- WSFC1 with 2 nodes (Act/Act) and 2 FCIs (sqlserver 2016 Ent Ed)....

SSL Certificate for SQL Server 2016 not appearing in MMC - Dear Everyone I followed the required steps to request a certificate for using SSL in SQL Server 2016 and i...

SQL Server Management Studio setup failed - Hi everybody , I installed SQL server 2016 but SSMS doesn't installed show me this error sql server managment studio setup...


SQL Server 2016 : SQL Server 2016 - Development and T-SQL

How To Update Multiple Conditions Using MERGE Statements - I have to compare source and Target data and MERGE them accordingly. But I have multiple conditions. Below is my...


SQL Server 2014 : Administration - SQL Server 2014

Table Row Count - Hi Experts, We have a very Large table which hold almost 185GB of data. When ran the Count it was giving...


SQL Server 2014 : Development - SQL Server 2014

Column set to varchar(max) error - I have some code that logs validation messages that are displayed to users of our software. The table it is...


Data Warehousing : Integration Services

ADO .NET Excel - Hi All, I am using a for each loop with a data flow task that is using a ADO .NET for...

This email has been sent to newsletter@newslettercollector.com. To be removed from this list, please click here.
If you have any problems leaving the list, please contact the webmaster@sqlservercentral.com.
This newsletter was sent to you because you signed up at SQLServerCentral.com.
Feel free to forward this to any colleagues that you think might be interested.
If you have received this email from a colleague, you can register to receive it here.
This transmission is ©2018 Redgate Software Ltd, Newnham House, Cambridge Business Park, Cambridge, CB4 0WZ, United Kingdom. All rights reserved.
Contact: webmaster@sqlservercentral.com