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
 

Three Mile Island And Your Databases

Yeah, I know. Bear with me.

Some of the younger amongst you may have never heard of Three Mile Island. It used to be a nuclear power plant in Pennsylvania. One night back in 1979, two, separate but related, mechanical problems lead to a leak of coolant (treated water) within the containment building. The story of the event is the point of this editorial, not so much the event itself.

Here’s the deal that you’re unlikely to see in most accounts of the story. While there were mechanical issues, some of them caused by poor maintenance, and a whole, enormous, actually truly frightening series of human errors occurred, the actual accident, meltdown, and, partial leak to the environment, didn’t even raise the background radiation in the surrounding area. Why? Because the fundamental reactor design was solid. It survived bad maintenance. It survived really poor training, horrific judgment, and frankly, a large degree of stupidity. It was engineered well. Yet, that’s not the story anyone recalls. Why?

Communication.

See, not only were the people running the reactor bad at their jobs but the people responsible for them were equally bad at their jobs. What was happening in and around the reactor was extremely poorly communicated. So, instead of a story about, “wow, good thing we over-engineer our reactors, we really need better training and maintenance to go with it,” we got “OMG!!!ELEVENTY!!! Nuclear power BAAAADDD!” For an excellent account along these lines, watch this really well-done video.

“OK, Grant, and databases?”

Something to think about in your environment is how you’re going to communicate during an outage. How do you let management know? What should you tell them? Who is going to tell them? You’re in an emergency. You’re going to be highly distracted. Yet, you’re going to have a bunch of non-technical people relying on you to get them a good message that they can then take to others.

This requires two things. First, you have to think the whole communications thing through ahead of time. It could be that Bob, you know Bob, he’s had all those run-ins with HR because of his abrasive communication style, maybe Bob isn’t your spokesperson. So who is? Second, you need to practice your recoveries, failovers, what have, so that when the emergency hits, you know what to do and aren’t looking at the equivalent of an alarm papered over because it’s always going off ().

So, yeah, get your backups in line and tested, sure. However, also practice restores. Then, make darned sure you know how to communicate to everyone else when the emergency is truly on.

Grant Fritchey

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

5 things to look for in a 3rd party database monitoring tool

Are you evaluating the effectiveness of your homegrown database monitoring tool or looking at investing in a 3rd party one? This helpful blog post suggests 5 things to look for in your evaluations.

Re-baselining a Database using Flyway Desktop

Over time, Flyway projects can accumulate a lot of migration scripts, with many database objects being created, altered, and dropped across many files. Tonie Huizer explains why you might want to create a new baseline migration file to create the latest version of a Flyway-managed database in a single leap, and how to persuade Flyway Desktop to do it.

Searching a Flyway Database

As a database gets larger, and development more complex, so it becomes increasingly necessary to be able to search for strings in the source files and the database itself. Maybe you need to find when a table first got created, when a foreign key was added, or to find out which tables lack documentation. I'll show you how to answer these sorts of questions by running simple 'wildcard' searches on your Flyway migration files, or source files, as well as more targeted searches on certain parts of your database model.

Administration of SQL Server

Reasons for Transaction Log Backup Chain breaking

The SQL Server transaction log backup chain aka log chain is the series of sequential transaction log backups related to a database. The log backups are related to each other and are represented through LSN . Breaking the transaction log chain will limit the restore point of the backups.

Script to find and update Agent Job Owners

Does what it says in the title.

Max server memory recommendations are just a suggestion

When you install SQL Server on Windows these days, the Setup tool comes with a neat recommendation based on the amount of server memory available at that moment in time. That’s what we call a loaded statement. The recommendation is just a suggestion. A guideline.

Azure Databricks, Spark and Snowflake

Configuring initialisation scripts for Azure Databricks

How to configure an initialisation script to install libraries on to a cluster that are not included in the Azure Databricks runtime environment using the Databricks UI, and within your CI/CD solutions.

Azure SQL Managed Instance

Prevent Data Exfiltration in Azure SQL Managed Instance

Data exfiltration is a technique that is also sometimes described as data theft or data extrusion, that describes the unauthorized extraction of data from the original source.

Conferences, Classes, Events, and Webinars

Gain the competitive edge with a monitoring tool

Catch up on-demand with Chris Yates, Senior Vice President, Managing Director of Data and Architecture at Republic Bank, to discover why monitoring your database environment can help your organization gain a competitive edge.

DMO/SMO/Powershell

Error Handling With PowerShell Try Catch Blocks

How to use PowerShell’s built-in error handling features to help debug your scripts when there are problems.

Organizing Chaos with PSWorkItems and PowerShell

A new PowerShell module called PSWorkitem that helps you manage database tasks

Performance Testing Databases with Flyway and PowerShell

Performance tests are central to the quality of the database changes we deliver because they ensure that any business process that accesses the database continues to return its results in an acceptable time. When Flyway creates a new version of the database, it is the ideal time to run these performance checks.

Data Mining / Data Analysis

Use fresh and unlimited volume of ADX data (Kusto) from your favorite analytic tool - Excel pivot

How to query Kusto data in real time without importing any data and without any volume limitations.

Data Science

Worry Over Columns, not Rows

As an analyst working with operational teams you are going to have to understand they naturally value data in terms of rows, while your project values data in terms of columns.

Data Visualisation

Displaying Subplots for SQL Server Data with Python and Plotly

From MSSQL Tips

This tip gives you introductory-level coverage of how to create subplots for displaying line charts and candlestick charts in Python for data from SQL Server.

Python Data Visualisation

Getting up and running with Altair, a library for generating charts written in 24K lines of Python.

MDX/DAX

DAX 101: Variables in DAX

Using variables in DAX makes the code easier to read, faster, and easier to debug. In this article, we discuss how and when to use variables, along with why they are so important in any DAX expression.

Oracle/PostgreSQL/MySQL/other RDBMS

Learning PostgreSQL: The Tools

The tools Grant Fritchey uses when working with PostgreSQL databases.

An Introduction to B-Tree and Hash Indexes in PostgreSQL

This article explores the PostgreSQL implementation of the B-Tree (the B stands for Balanced) and hash index data structures.

An Introduction to PostgreSQL Concurrency Control

PostgreSQL uses an optimistic isolation system known as Multi-Version Concurrency Control (MVCC). Paul Randal explains how it works.

Performance Tuning SQL Server

Why You Can’t Always Rely On Estimated Query Plans In SQL Server

Well, as SQL Server adds features to the Intelligent Query Processing, more and more decisions are made when a query executes, which means the actual plan and estimated plan will occasionally look very different.

Let’s Stop Calling Queries “Expensive”

Erik Darling explains why referring to "Expensive Queries" reinforces the wrong mindset when it comes to query tuning, and leads people down the wrong path, looking at the wrong metrics.

Simple Parameterization and Trivial Plans — Part 6

Paul White explains in detail how SQL Server decides if simple parameterization is safe or unsafe.

PowerPivot/PowerQuery/PowerBI

Custom Queries For “Detect Data Changes” In Power BI Incremental Refresh

Chris Webb tests out creating your own M queries to work with the “detect data changes” feature in Power BI

New Diagram: Power BI Datamart Overview

An new diagram of Power BI Datamarts is now available. It includes the technical components of a Power BI datamart.

Power BI guidance from the CAT

If you need guidance on which features to use, and on how to use them properly to achieve your goals, this is where the Power BI guidance documentation comes in.

Creative ways to show filter selections on your Power BI reports

Mara Pereira comes up with some creative solutions for "hiding" the slicers/filters from the report page.

SQL Server Security and Auditing

Establish digital trust in your data with ledger in SQL Server 2022

Pieter Vanhove introduces ledger, a new SQL Server 2022 technology that uses blockchain to offer a tamper-proof record of data modifications.

Execute As User versus Execute As Login

Kenneth Fisher explains what causes the "The server principal “Domain/NetworkName” is not able to access the database “OtherDB” under the current security context." error.

T-SQL and Query Languages

Cool Stuff in SQL Server 2022 – IS DISTINCT FROM

IS [NOT] DISTINCT FROM allows you to compare two expressions (much like = and <>), but this predicate takes NULL values into account.

The Uses of Dependency Information in Database Development

Dependency information will allow you to avoid errors during a database build or tear-down, by ensuring you create or remove objects in the right order. It will also help you to avoid future 'invalid object' errors, because it will allow you to check that no database alterations have introduced broken references.

SQL Server 2022’s GENERATE_SERIES Doesn’t Suck Anymore

Erik Darling reports on some major improvements to the GENERATE_SERIES operator, which generates a series of numbers within a given interval.

Some New Stuff In SQL Server 2022 CTP 2.1

Bit manipulation functions are coming to SQL Server 2022! Among other things.

Additional T-SQL Improvements in SQL Server 2022

Itzik Ben-Gan demonstrates the improvements made to the distinct predicate and the approximate percentile functions in SQL Server 2022 CTP 2.1

Monitoring Log Shipping Using T-SQL

Lori Brown explains how to set up and run some useful Log Shipping monitoring queries to check, for example, that log shipping is not falling behind its backup and restore thresholds.

 
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

 

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