Problems displaying this newsletter? View online.
Database Weekly
The Complete Weekly Roundup of SQL Server News by SQLServerCentral.com
Hand-picked content to sharpen your professional edge
Editorial
 

What counts for a DBA: Foresight

Of all the valuable attributes of a DBA, from passion to humility to practicality, perhaps one of the most important attributes may turn out to be the most seemingly nebulous: foresight. According to Free Dictionary, foresight is the "perception of the significance and nature of events before they have occurred". Foresight does not come naturally to most people, as the parent of any teenager will attest. No matter how clearly you see their problems coming, they won't listen and have to fail before eventually (hopefully) learning for themselves.

Having graduated from the school of hard knocks, the DBA, a naïve teenager no longer, acquires the ability to foretell how events will unfold in response to certain actions or attitudes with the unerring accuracy of a doom-laden prophet. Like Simba in the Lion King, after a few blows to the head, we foretell that a sore head will be the inevitable consequence of a swing of Rafiki's stick, and we take evasive action. However, foresight is about more than simply learning when to duck. It's about taking the time to understand and prevent the habits that caused the stick to swing in the first place. And based on this definition, I often think there is a lot less foresight on display in my industry than there ought to be.

Most DBAs reading this editorial will spot a line such as the following in a piece of "working" code, understand immediately why it is less than optimum and take evasive action.

...WHERE CAST (columnName as int) = 1

However, the programmers who regularly write this sort of code clearly lack that foresight. This and numerous other examples of similarly malodorous code prevail throughout our industry (and provide premium-grade fertilizer for the healthy growth of many a consultant's bank account).

Sometimes, perhaps harried by impatient managers and painfully tight deadlines, everyone makes mistakes. Yes, I, too, occasionally write code that "works" but basically stinks. When the problems manifest, it is sometimes accompanied by a sense of grim recognition that somewhere in me existed the foresight to know that that approach would lead to this problem. However, in the headlong rush, warning signs got overlooked, lessons learned previously, which could supply the foresight to the current project, were lost and not applied.

Of course, the problem often is a simple lack of skills, training and knowledge in the relevant technology and/or business space. Programmers and DBAs are forced to do their best in the face of inadequate training or apply their skills in areas where they lack experience. However, often the problem goes deeper than this; I detect in some DBAs and programmers a certain laziness of attitude.

They veer from one project to the next, going with "whatever works", unwilling or unable to take the time to understand where their actions are leading them. Of course, the whole "Agile" mindset is often interpreted to favor flexibility and rapid production over aiming to get things right the first time. The faster you try to travel in the dark, frequently changing direction, the more important it is to have someone who has the foresight to know at least roughly where you are heading. This is doubly true for the data tier which, no matter how you try to deny it, simply cannot be "redone" every month as you learn aspects of the world you are trying to model that, with a little bit of foresight, you would have seen coming.

Sometimes, when as a DBA, you can glance briefly at 200 lines of working SQL code and know instinctively why it will cause problems, foresight can feel like magic, but it isn't; it's more like muscle memory. It is acquired as the consequence of good experience, useful communication with those around you, and a willingness to learn continually, through continued education as well as from failure. Foresight can be deployed only by finding time to understand how the lessons learned from other DBAs and other projects can help steer the current project in the right direction.

C.S. Lewis once said "The future is something which everyone reaches at the rate of sixty minutes an hour, whatever he does, whoever he is." It cannot be avoided; the quality of what you build now is going to affect you, and others at some point. Take the time to acquire foresight; it is a love letter to your future self saying you cared.

 

Louis Davidson (@drsql)

Join the debate, and respond to the editorial on the forums

 
The Weekly News
All the headlines and interesting SQL Server information that we've collected over the past week, and sometimes even a few repeats if we think they fit.
Vendors/3rd Party Products

Database DevOps: 10 Trends for 2021

What do you think the top 10 Database DevOps trends in 2021 are? Redgate has condensed 3,200 survey responses from IT professionals worldwide into a handy infographic. Discover insights such as the top challenge in improving software delivery performance and the correlation between DevOps adoption and high-performing teams.

AI/Machine Learning/Cognitive Services

The Most Advanced AI in the World explains what AI, Machine Learning, and Deep Learning are!

From Learning Machines

This is our 101’st blog post here on Learning Ma...

When AI Becomes the Hacker

From IT Pro - Microsoft Windows Information, Solutions, Tools

Bruce Schneier explores the potential dangers of a...

Administration of SQL Server

Index Internals: Catch where the Fragmentation is!

From DEEPTHI GOGURI'S SQL SERVER BLOG

In this post, we will be focusing on learning to t...

How to register an SPN for SQL Server

I received a question from a colleague asking how to register a Service Principal Name (SPN) for SQL Server. The specific situation relates to upgrades and new SQL Server instances deployed onto new servers\server names...

Don’t Stop at Just Enabling Read Committed Snapshot Isolation (RCSI)

This past week I had a great Client ask an even greater question, and it got me thinking. The question is straightforward (albeit nerdy, which I love). “We’ve enabled RCSI, and we still get serializable connections from our apps. What gives?” ...

T-SQL Tuesday 138 – sp_help_revlogin is dead, long live sp_help_revlogin2

This month’s T-SQL Tuesday is hosted by Andy Leonard (b|t), who is asking us to write about “software changes”. Specifically, the question is: “How Do You Respond When Technology Changes Under You?”...

Index Internals: How many ways can page splits happen?

In this post, we will be learning about the methods to find the index fragmentation....

Viewing Deadlock Graphs

Deadlocks can be frustrating to troubleshoot. I’ve blogged about deadlock priority in the past but what about deadlock graphs?

T-SQL Tuesday Retrospective #015: Automation

From Born SQL

In February 2011, Pat Wright invited us to talk about Automation: So the topic I have chosen for this month is Automation! It can be Automation with T-SQL or...

Finding the names of all indexes on a SQL Server

From Steve Stedman

I needed a way to list of of the indexes for an en...

Don’t Stop at Just Enabling Read Committed Snapshot Isolation (RCSI)

From SQLServerCentral Blogs

This past week I had a great Client ask an even gr...

Free Video: Deadlocks: Let’s Do One, Understand It, and Fix It

From Brent Ozar Unlimited

You keep getting warnings and emails about deadlocks, but let’s be honest: you’re not really sure how they happen or what to do about it. In this one-hour session...

More Fun Inserting Data Using Wizards

From Sherpa of Data

We have now talked about inserting data into SQL S...

Azure SQL Database

How to Connect to Azure SQL Database Securely

From SQL Server – {coding}Sight

Total: 3 Average: 5 As a database administrator, I started my journey in deploying managed SQL databases on the cloud, and I highly recommend deploying Azure SQL. Azure SQL...

Computing in the Cloud (Azure, Google, AWS)

Thinking About Cloud vs On-Prem vs Colocation Has Gotten Smarter

From IT Pro - Microsoft Windows Information, Solutions, Tools

Companies aren’t rushing to move all workloads t...

New Blog post- Best practices for migrating Microsoft SQL Server databases to Amazon EC2 using CloudEndure Migration

From SQLServerCentral Blogs

  Check out my new blog post-Best practices for m...

Conferences, Classes, Events, and Webinars

WIT Mental Health and Wellness Videos Posted

From SQLServerCentral Blogs

I was honored to speak at the WIT Mental Health an...

Save the date for the PASS Data Community Summit 2021

From Blog – Redgate Software

I began attending PASS Summit in 2003. I had no id...

Join Bob Ward live

Learn all aspects of migrating, using, and managing Azure SQL Managed Instance live from Microsoft Principal Architect Bob Ward.

Monitor your performance and availability

Discover how Redgate’s SQL Monitor manages your entire SQL Server estate, with instant problem diagnosis, intelligent and customizable alerting all from a single pane of glass.

Microsoft News

Windows 10 “Sun Valley” will do away with Windows 95 era icons

From Ars Technica

The results are more subtle than you might expect ...

NoSQL

NoSQL vs SQL: Which One is Better for Big Data Management?

From SQL Server – {coding}Sight

Nowadays, customer behavior becomes more complex and market trends continue to shift rapidly...

Performance Tuning SQL Server

Query Compile Time

From Scary DBA (Grant Fritchey)

A question that came up recently was how to track ...

PowerPivot/PowerQuery/PowerBI

Power BI Goals Hello World!

From Simplify Power BI

Power BI Goals Hello World! Power BI Goals were in...

Show previous 6 months of data from single slicer selection

In this article we demonstrate how to use calculation groups to show the behavior of any measure in the last 6 months, starting from a single date selection with a slicer.

Test your Power BI DAX measures in DAX Studio

From Guy in a Cube

Learn how to get your DAX measures in working orde...

Use Data Profiling in Power Query

From eHansalytics

I often give demos or training in how to use Power...

Power Query: Transforming Desktop Queries in Dataflows

From Simple Talk

.There are some interesting ways to transform queries from Power BI Desktop to Power BI dataflows in the portal. The UI can be a bit confusing. I made some...

Professional Development

How to Write a Technical Book

From AndyLeonard.blog()

Open your favorite text editor. Write.

T-SQL Tuesday #138 – Keeping up with change

From SQL Server Fast

It’s May 2021, it’s Tuesday; that means it’s time for T-SQL Tuesday, the monthly blog party for all SQL Server and Data Platform bloggers. This month is hosted by...

Security News and Issues

Hackers Find Easy Prey as U.S. Ignores One Warning After Another

From IT Pro - Microsoft Windows Information, Solutions, Tools

For years, security experts have offered concrete recommendations for governments, companies and other organizations to follow to ward off cyber-attacks, but they’re often ignored, or punted in favor of...

T-SQL

Converting part of a result set to a comma separated list

From Steve Stedman

One of the common task that I have come across is ...

Simple SQL Server Functions to Solve Real-World Problems

From SQL Server – {coding}Sight

Total: 1 Average: 5 Introduction Today’s article comes from a scenario we experienced in practice some time ago. We managed a card transaction system referred to as Postilion, and...

A Bug With Recursive UDFs When Inlined In SQL Server 2019

From Erik Darling Data

Enough Already I see people do things like this fa...

Virtualization and Containers/Kubernetes

Updated Pluralsight Course – Managing the Kubernetes API Server and Pods

From SQLServerCentral Blogs

My updated course “Managing the Kubernetes API Server and Pods” in now available on Pluralsight here! If you want to learn about the course, check out the trailer here or if you want to... The...

 
RSS FeedTwitter
This email has been sent to {email}. 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. Note: This is not the SQLServerCentral.com daily newsletter list, and unsubscribing to this newsletter will not stop you receiving the SQL Server Central daily newsletters. If you want to be removed from that list, you can follow the instructions on the daily newsletter.
©2019 Redgate Software Ltd, Newnham House, Cambridge Business Park, Cambridge, CB4 0WZ, United Kingdom. All rights reserved.
webmaster@sqlservercentral.com

 

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -