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

Daily Coping Tip

Try something different for exercise today, however small.

I also have a thread at SQLServerCentral dealing with coping mechanisms and resources. Feel free to participate.

For many of you out there working in a new way, I'm including a thought of the day on how to cope in this challenging time from The Action for Happiness Coping Calendar. My items will be on my blog, feel free to share yours.

Incident Review

Something will always go wrong with our software systems. It might happen regularly or rarely, but something is going to go wrong and a customer or client will complain. Often the way we handle these situations determines whether our customers continue to do business with us or look for an alternative.

In my career, I've been a part of many incidents, many of which were service outages for customers. I've attended some as a technical person working to diagnose the issue. In some incidents, I've been a developer that has to fix code. During others my role was as a manager trying to ensure information moves smoothly between resources and our "fix" doesn't cause another problem. At other times, I've also had to take part in a post-incident review. Unfortunately, this has happened far less often than it should.

When I read this description of a post-incident review, it is unlike many of the after-action meetings I've attended. Usually, there is one meeting, someone is being blamed, and senior management is often there, putting pressure on everyone in attendance to "never let this happen again." I haven't known anyone that wanted to go through another outage or a post-incident meeting, but with complex systems, and humans managing them, something is bound to go wrong.

What we want is this same type of incident to never happen again, which comes about if we learn from our mistakes and design better protocols and systems that help us catch silly mistakes. We should accept that mistakes will happen and try to find ways to detect the problem quickly, limit the scope of impact, and provide a way to share this knowledge with other workers. Depending on humans to be more perfect in the future isn't likely to be successful.

These days I read modern post-incident reviews, internal ones that we publish after an outage, I find them fact-based, focusing on what things went wrong without blaming a person. They include analysis not only of the actual issue but the conditions that led to the hardware/software failure or decision that was made. There are learnings about how we might have prevented something with a time machine, while still assuming that humans would make mistakes or a component might fail. There are also suggestions for improvements in hardware, software, training, or monitoring that might assist in quicker recovery in the future.

Coming out of an incident with a positive mindset is the best way to try and prevent a repeat of the same incident in the future. This requires that we not only avoid blaming someone for an error but that we also take steps to limit the potential for future errors. If the issue is someone clicking the wrong selection in a drop-down or pressing "OK" when they meant to press "Cancel", there are limited ways to prevent those issues. However, we can adopt the mindset an outage is a team failure and build a habit of double checking each other. That's much better than blaming one person, giving the job to another human, who might easily make the same mistake.

Many humans struggle to avoid placing blame on others and just accepting that some mistakes will happen. A DevOps mindset, with blameless reviews instead focuses on how we can do better as a group, rather than how we failed as an individual. This little change helps us build a better team, one that often performs better in the future.

Steve Jones - SSC Editor

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

 
 Featured Contents

Connect to SAP HANA Data as a Linked Server

JerodJ from SQLServerCentral

The SQL Gateway enables you to configure a TDS (SQL Server) remoting service and set up a linked server for SAP HANA data.  After you have started the service, you can use the UI in SQL Server Management Studio or call stored procedures to create the linked server. You can then work with SAP HANA data just […]

Powershell Day by Day: Adding Help to Scripts

Frank Dolan from SQLServerCentral

This next article in the PowerShell Day by Day Series will cover adding help to your scripts.

Plotting in Python for Financial Time Series Data for Exponential Moving Averages

Additional Articles from MSSQLTips.com

Learn how to plot a financial time series using SQL Server data and Python to reveal the value of exponential moving averages and make decisions about time series values.

Gartner® Hype CycleTM 2021

Additional Articles from Redgate

Get Gartner’s latest DevOps and Agile recommendations for I&O leaders. Redgate is named as a sample vendor for Continuous Compliance Automation in the 2021 Hype Cycle™ for Agile and DevOps.

From the SQL Server Central Blogs - Removing a Deleted Column from a Data Masker Masking Set

Steve Jones - SSC Editor from The Voice of the DBA

Data Masker for SQL Server is a great tool ensuring the data you use in non-production environments is compliant with any regulations by obfuscating and changing sensitive data. This...

From the SQL Server Central Blogs - Containers: A Short Rant

Grant Fritchey from The Scary DBA

I find myself doing more and more work with containers. Yet, I also find that a lot of people seem to be resistant to the concept. I’m always surprised...

 

 Question of the Day

Today's question (by Alessandro Mortola):

 

Implicit conversion from datetime to datetime2

Which result do you obtain carrying out the following code?
declare @d datetime = '20210701 12:30:45.123';
select CAST(@d as datetime2(7));

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)

Current Symmetric Key Algorithms

What symmetric key algorithms are supported in SQL Server 2019 for the CREATE SYMMETRIC KEY DDL at the SQL Server 2019 database compatibility level?

Answer: Only these: AES_128, AES_192, AES_256

Explanation: Only the AES algorithms are supported at database compatibility level 130 and higher. Others are deprecated. Ref: CREATE SYMMETRIC KEY - https://docs.microsoft.com/en-us/sql/t-sql/statements/create-symmetric-key-transact-sql?view=sql-server-ver15

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 - Administration
How do I shift primary Replication publisher to new node in AG - Hi, Consider this setup, with SQL 2017 Enterprise, in a multi-subnet environment: SERV01 (Primary) and SERV02 (Secondary) Clustered as ServCluster.  There is one AG - SQLAG, with multiple databases.  There is a listener - SQLList. Two of the databases in the AG, DB1 and DB2, are transactionally replicated to a remote Subscriber, SERVSub.  The distributor exists […]
SQL Server 2017 - Development
Capture Tables Updates-Add , updare and delete record) when Sp executed - When i run a stored procedure, i would like to capture all the Database updates with table name and preferably values updated. What tool i can use ?
SQL Server 2016 - Administration
Wait type LATCH_EX [NESTING_TRANSACTION_FULL] - and blocking. - We have this ad hoc query that is a recurring block leader, blocking dozens of other SPs and adhoc query. This code has not changed in years. The query had never been a massive blocker before a few days ago, and never caused issues. now it does. It causes latencies, users are waiting and timing […]
Development - SQL Server 2014
Dynamic Store Procedure - hello, I want to create a dynamic StoreProcedure that would do some simple checks and that is setting these variable SET @valuesInput = (select count(distinct COLUMN_1) from [TABLE_1] where [COLUMN_1] is not null) SET @valuesInserted = (select count(distinct COLUMN_2) from [TABLE_2]) SET @countDuplicates = (select count(*) from [TABLE_2] group by COLUMN_2 having count(*) > 1) […]
SQL 2012 - General
needing help casting varchar to decimal - I'm needing to convert some varchar figures to decimal for sums, but can't quite find an example that works... the second block of code just returns the list of data without cast or sum: SELECT SUM(CAST([Convo] AS DECIMAL(10,2))) ,SUM(CAST([F9D2]) AS DECIMAL(10,2))) ,SUM(CAST([F9D5]) AS DECIMAL(10,2))) ,SUM(CAST([F9DMTM]) AS DECIMAL(10,2))) ,SUM(CAST([Exception]) AS DECIMAL(10,2))) ,SUM(CAST([Training]) AS DECIMAL(10,2))) ,SUM(CAST([TOTAL Time]) […]
SQL Server 2012 - T-SQL
output of stored procedure to text and email text - i have a stored procedure which outputs data from various table query like below. create procedure ki_data as select * from customer select * from order select * from invoices   i would like to send the output of stored procedure (in text format) to email . I know how i can do it using […]
SQL Server 2019 - Administration
Whats the difference between SQL 2019 Enterprise and SQL 2019 Enterprise Core - I'm installing SQL on a dev server using my VS downloads and I have a choice between 2019 Ent and 2019 Ent core. We just recently switched from server/cal to core licensing and would like to know if there actually is some difference between these installs.
In-Place upgrade from SQL Server 2016 to SQL Server 2019 leaves older version - My company has decided that in-place upgrading to SQL Server 2019 for test environments is the path that we should take for time consideration.  What I have found out after doing this in-place upgrade(and I have never done one before always a side by side) is that the older version of SQL Server is left […]
SQL Server 2019 - Development
Using (or not) query HINTS to speed up slow statement - The following statement returns 9000 rows in about 5 minutes on both SQL Server 2014 and SQL Server 2019. It basically reads Corporations along with their "IsArchived" attribute and their current name after fetching the "NameID" from an historical table. All required indexed are defined and rebuilt. Statistics are updated. SELECT C.CorporationID, EA.IsArchived, EN.Name FROM […]
ADD Values from a table to an another table - I am working with Microsoft SQL Server MANAGMENT STUDIO 18  and i Have 2 Tables , i want to insert a new line of values from Table 1 on Table 2 but every time that a Value From Table 1 change from False to True .Actually it works but only if i execute to This […]
Conditional Where - Hi, I have a where clause in my query that looks like this: WHERE items.UserNumber_02 IS NULL -- ALL ITEMS OR items.UserNumber_02 IS NOT NULL -- Table is filtered How can I switch between all items and the filtered part with a parameter?
SQL Azure - Development
Azure SQL or MariaDB (or perhaps PostgreSQL)? - Hi, I got a question about a new system to be located in Azure. The system will have a fair amount of traffic, perhaps somewhere around 100 requests per second. Each request will be handled and logged. Perhaps the log items will be updated with more data during the request (which usually will last a […]
Reporting Services
Colum Header adding a 1 to the text when downloading? - Hi, I come across this once in a while, I have a column header say its"Date Added" when I download to CSV , it adds a 1 and displays as "Date Added1"   Can't figure out why?   Thanks  
Powershell
Load 2 files to SQL on 1 connection - I have 2 files I'm importing and have 2 different SQL tables from the same database. How could I create one connection to the DB and load to 2 different SQL tables. Thanks. $f1=(import-csv 'c:\temp\dbsessinfo' -Delimiter '|' -header dbsession,client,qaduser,osuser,pts,qadpgm,qadmenu,pid,ostask,runtime) $f2=(import-csv 'c:\temp\dbwaitdata' -Delimiter '|' -header dbanme,progtxn,osuser,locktype,locktbl,lockrcd,lockmeth)    
Analysis Services
Creating a Linking Column from table to the other - How can i create the employee code column from Staff List into Revenue table?  
 

 

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

 

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