Problems displaying this newsletter? View online.
SQL Server Central
Featured Contents
Question of the Day
Featured Script
The Voice of the DBA
 

A Staffing Disaster

There was a failure recently at an Azure data center in Australia when a utility power sag caused equipment to trip offline at one of the Azure data centers in Australia. You can read about it here, but essentially the headline is that there were only three people on site when the incident occurred, and that caused them to be unable to restart the equipment in time to prevent an outage.

In a little more detail, there weren't enough people to quickly restart the equipment chillers after the incident. The staff had to access the equipment on a roof when 13 of the units didn't restart. They were able to get to 8, but when they got to the last 5, the temperature of the water had risen to a level that wouldn't allow a restart. So they had to power down some computer equipment and go through a more lengthy process to get everything running.

This sounds bad, but in reality, this is exactly the type of thing I've seen in private data centers, who almost never have all the staff they need, or the knowledge necessary, to deal with large-scale failures. While I haven't seen the chillers, I have seem people trip electrical systems and be unable to restart or reset UPS's or generators for hours until qualified staff could come in. If you read the incident history, there is a good retroactive of what happened, and then some actions taken to try and prevent this in the future. They increased staff levels, but also identified some places where the previous staffing level would have been fine with some equipment and protocol updates.

I wish more organizations would review incidents and examine them with the eye towards not only what happened and where there were failures, but how to prevent issues in the future. Too often I see people going through this exercise in order to blame someone and "prevent this from ever happening again", which usually means we fire someone and don't change anything else. We need psychological safety in reviews of actions to get better.

As we build more complex systems, or even more complex organizations with lots of teams, people, equipment, procedures, etc., it's easy to build in lots of points of failure without realizing there will be problems in the future. My goal often these days is to assume I'll have some inexperienced or less capable staff and design processes and systems to survive issues. To keep things simple, and not get too cute with engineering. I like robust, resilient systems that anyone can operate, not those that require me to ensure my senior superstars are always on call.

Of course, it often takes the senior superstars to design and test these systems and protocols, which is a good use of their time.

Many businesses struggle with staffing, in many areas. Technology groups are no different, and we have to learn to work smarter, not assume we will just get more staff and solve our problems.

Steve Jones - SSC Editor

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

 
 Featured Contents
SQLServerCentral Article

Sending Multiple Attachments in Email from Azure Data Factory Pipeline

Sucharita Das from SQLServerCentral

This article shows how you can have your Azure Data Factory (ADF) pipeline send an email using a Logic App.

External Article

Profiler and Server Side Traces

Additional Articles from MSSQLTips.com

Profiler is a GUI based tool that runs a SQL Server trace to capture the metrics listed above as well additional data. This data can then be used to determine where your SQL Server performance issues are related to your TSQL code. Running a trace without using Profiler is known as a Server Side Trace. You can create and start the trace using TSQL commands instead of having to use the GUI.

External Article

Post-migration Validation and Optimization Guide

Additional Articles from Microsoft MSDN

SQL Server post migration step is very crucial for reconciling any data accuracy and completeness, as well as uncover performance issues with the workload.

Blog Post

From the SQL Server Central Blogs - Temporal Table Data Fixes

hellosqlkitty from SQLKitty

I found myself in a situation where I needed to modify temporal tables. We do this outside business hours because we don’t want clients changing data while versioning is...

Blog Post

From the SQL Server Central Blogs - Friday Flyway Tips: More Config Options

Steve Jones - SSC Editor from The Voice of the DBA

Working with various Flyway configuration options used to be a pain since they were either CLI parameters or in a text files. We’ve made editing these easier in Flyway...

Big Data Analytics cover

Big Data Analytics with Spark: A Practitioner's Guide to Using Spark for Large Scale Data Analysis

Steve Jones - SSC Editor from SQLServerCentral

Big Data Analytics with Spark is a step-by-step guide for learning Spark, which is an open-source fast and general-purpose cluster computing framework for large-scale data analysis. You will learn how to use Spark for different types of big data analytics projects, including batch, interactive, graph, and stream data analysis as well as machine learning. In addition, this book will help you become a much sought-after Spark expert.

SQL Server 2022 Query Performance Tuning

SQL Server 2022 Query Performance Tuning: Troubleshoot and Optimize Query Performance

Additional Articles from SQLServerCentral

Troubleshoot slow-performing queries and make them run faster. Database administrators and SQL developers are constantly under pressure to provide more speed. This new edition has been redesigned and rewritten from scratch based on the last 15 years of learning, knowledge, and experience accumulated by the author. The book Includes expanded information on using extended events, automatic execution plan correction, and other advanced features now available in SQL Server.

 

 Question of the Day

Today's question (by Steve Jones - SSC Editor):

 

Backing Up a Restoring Database

I have a database involved in log shipping. I have this database restored with the NORECOVERY option as we continue to add log restores to this. Can I back up this database with a BACKUP DATABASE command while it's in the restoring state?

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

 

 

 Yesterday's Question of the Day (by Steve Jones - SSC Editor)

Creating Two Keys

On SQL Server 2019, I run this code. What happens?

CREATE SYMMETRIC KEY PIISymKey
WITH
  ALGORITHM = AES_128
, IDENTITY_VALUE = 'S0methingN3w'
, KEY_SOURCE = 'Someth!ngBl&e'
ENCRYPTION BY PASSWORD = 'MyS3cr#tP@ssword';
CREATE SYMMETRIC KEY HIPPASymKey
WITH
  ALGORITHM = AES_128
, IDENTITY_VALUE = 'S0methingN3w'
, KEY_SOURCE = 'Someth!ngBl&e'
ENCRYPTION BY PASSWORD = 'MyS3cr#tP@ssword';

 

Answer: The first key is created and the second is not

Explanation: The batch doesn't matter. We can create multiple keys in one batch. However, the identity_value must be unique for each one. This is used to derive a GUID and once used, it cannot be reused while a key exists that has used this same value. Ref: CREATE SYMMETRIC KEY - https://learn.microsoft.com/en-us/sql/t-sql/statements/create-symmetric-key-transact-sql?view=sql-server-ver16

Discuss this question and answer on the forums

 

Featured Script

How to Move a Table into a Schema in T-SQL

Parthprajapati from SQLServerCentral

To move a table into a schema in T-SQL, you can use the ALTER SCHEMA statement along with the TRANSFER option. Here are the steps to do this: Assuming you have an existing schema named "NewSchema" and a table named "YourTable" that you want to move into this schema: Open SQL Server Management Studio or […]

 

More »

 

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 - Administration
SSIS validation slow in SSISdb - We have a 2017 server in one location which is used as an SSIS execution box (SSISDB).  It works perfectly fine, but due to consolidations, business decisions we had to move the projects to the new server.  When we did that we noticed that package execution went up from few seconds to over a minute.  […]
SQL Server 2017 - Development
Copying an old database to a new database - Hi All, I've got a write a program to copy the data from one database over to another. The destination database is empty(apart from the table names/columns) and is more or less the same as the old database BUT some columns have been removed from the tables and GUID fields have been added. I can […]
SQL Server 2016 - Administration
Transaction log full due to LOG_BACKUP - 1 of my production database's transaction log file is full due to some backup failure occurred overnight. This has caused the logs to grew until it ate up all available space. Our backup admin has manually kick start the backup, it is running at the moment but it's taking very long as the transaction log […]
Development - SQL Server 2014
Weekly sales report - I have two tables InvHeader and InvDetail InvHeader table has the columns: InvNo, InvDate InvDetail table has the columns: InvNo, ProductNo, QTY, Price I Would like to generate weekly sales for the period 1/1/2023 to 8/31/2023. The week starts with Sunday. Amount column is calculated Qty\*Price. [![SQL output](https://i.stack.imgur.com/B1kqb.png)](https://i.stack.imgur.com/B1kqb.png) Thanks I tried this: ` SELECT DATEADD(WEEK, […]
SQL Server 2019 - Administration
How to Setup Backups and Restore planning in SQL Server Availability Groups? - I need some help regarding How to Setup Backups and Restore planning in SQL Server Availability Groups. Any details link to a blog post or video tutorial would be helpful.
Error in SQL Server Management Studio launcher - Guys, good night! I have a situation in my SQL Server Management Studio where when I log in and click the "New Query" button in a new window/tab, the attached error is displayed. I tried reinstalling and repairing the installation, but the error still persists. I can't format the notebook to solve this problem due […]
SQL AG 3servers and problem with DTC and HADR_SYNC_COMMIT - Hello, I would like to have a few questions and a little discussion about the experience of users here. we have 3 servers, where there are fews AG, and all work almost all the time well. But sometimes, and we cannot find directly when and why, there are a lot of blocks and a lot […]
SQL Server 2019 - Development
Query goes crazy. - Hi. I have a query that returns few rows (out of 7 table join, tables have milions of records). On our server it's fast, takes 46ms to complete. On client's server it takes 25-60 sec. The execution plan is similar in relations and indexes used, but almost every node has info like this: cost 10% […]
Best CI/CD or release process - Hello my SQL friends, I want to know about few of the best approaches/methodologies/applications being used in industry for CI/CD (or release management for SQL server database). Your opinion will be really helpful to me as I want to learn one or two of them to upscale myself.
Reporting Services
Just upgraded SSRS from 2016 to 2022 - I just upgraded SSRS from 2016 to 2022. This is my first time doing it so I thought I'd ask the group for some help. I followed this document https://www.mssqltips.com/sqlservertip/6768/side-by-side-ssrs-install-upgrade-minimize-downtime/ and was able to install SSRS successfully. I worked with the server team to redirect DNS, shutdown the old SSRS server and I am able […]
Calender Error in SSRS with SSAS Tabular Source - I have a report which get a Date Parameter.. I don't want to display That as a default list.. I found what I want exactly on https://www.mssqltips.com/sqlservertip/3451/calendar-date-picker-for-mdx-based-sql-server-reporting-services-reports/ when I go with tutorial I did This I used  the following Function ="[DIM_CREATE_DATE].[Date].&["+format(Parameters!DIMCREATEDATEDate.Value,"yyyyMMdd")+"]" an now I get the following Error any one can help me how to […]
Calender Error in SSRS with SSAS Tabular Source - I have a report which get a Date Parameter.. I don't want to display That as a default list.. I found what I want exactly on https://www.mssqltips.com/sqlservertip/3451/calendar-date-picker-for-mdx-based-sql-server-reporting-services-reports/ when I go with tutorial I did This I used  the following Function ="[DIM_CREATE_DATE].[Date].&["+format(Parameters!DIMCREATEDATEDate.Value,"yyyyMMdd")+"]" an now I get the following Error any one can help me how to […]
SQL Server 2022 - Administration
Partition Large Tables needed - Hello Gurus, I have  a requirement and need to implement the solution quickly. SQL DB is on Azure MI, so only one file group is allowed. There are 4 Very large tables of 50 Million Records in each Table, and time stamp is createdon column which has data from 9/2019 to 9/2023 , These are […]
SQL Server 2022 - Development
table with varcahar(max) - Gurus, there is a table which is very slow to query , it has only 3 months data, logid is PK, indexed and datecreated is the TS. It has a column called error with varchar(max) and saves the error msg which is slowing the table down. Will partioning this table improve the performance with varchar(max) […]
Migration from Sybase SAP SQL Anywhere to SQL Server 2022 - We are working on a project to migrate a client from a version of SAP Sql Anywhere (Sybase) to SQL Server 2022. However, we have encountered a challenge. The current application calls stored procedures and passes parameters, e.g. CALL TheStoredProc @a, @b+@c, @d However, to my knowledge, SQL cannot receive parameters that contain mathematical operators. […]
 

 

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.
©2019 Redgate Software Ltd, Newnham House, Cambridge Business Park, Cambridge, CB4 0WZ, United Kingdom. All rights reserved.
webmaster@sqlservercentral.com

 

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