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

The Main Obstacles to Implementing Database DevOps

Today we have a guest editorial from Kendra Little as Steve is away on his sabbatical.

One question we ask on the State of Database DevOps Survey is, “What was, or what would be, the main obstacle to implementing a DevOps approach in your organization?”

In the 2020 survey, the top two obstacles across all survey responses were broadly similar to previous years:

  • 23% overall selected “Disruption to existing workflows/business.” This squeezed into the #1 spot, up from 21% in the 2019 study.
  • 22% overall selected “Lack of appropriate skills in the team.” This was 22% the prior year as well. I’ll call this concern “upskilling” for brevity.

I was interested to dig into the details and see how the top obstacle changes between responders in different phase of adoption.

The early anticipators: those who haven’t adopted DevOps but are planning to adopt across some or all projects within two years were the most “across the board” with their answers. This group was the most likely to answer that they see the biggest obstacle as being support from executive leadership, but that was still only 12% of this group (compared to 6% citing executive support as their top concern across all responders). Overall this group is nearly equally concerned with upskilling (21%) and disruption of workflows (22%) as their top two obstacles.

Those proving the concept: Our survey respondents who said they are currently experimenting with DevOps or working through proof of concept exercises were the most likely to be concerned with upskilling, with 30% of this population citing upskilling as their top concern.

Those who have adopted across some or all projects: For respondents who have adopted DevOps across some projects concerns about upskilling have dropped a bit: 26% cite it as their top concern. When we look at the respondents who have adopted DevOps across all projects, the number citing upskilling as a top concern goes down further to 23%.

The picture that emerges: When creating a business case for Database DevOps, it can be helpful to anticipate the concerns of your audience. Create a proposal that addresses concerns, and spend time focusing on how to overcome obstacles related both to training/upskilling and to the disruption to workflows. It is most critical to help with upskilling just before and during a proof of concept, when concerns in this area are the strongest.

For more insights, download the 2020 State of Database DevOps Report.


Kendra Little

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

Redgate SQL Provision
  Featured Contents
Stairway to Machine Learning Services

Installing Machine Learning Services – Level 1 of the Stairway to ML Services

ginger.grant from

This first installment of the Stairway to Machine Learning Services explains the installation process for this subsystem in SQL Server.

Azure Data Factory Multiple File Load Example - Part 2

Additional Articles from

In this two-part tip, we are created a metadata-driven pipeline which will copy multiple flat files from Azure blob storage to an Azure SQL Database. The flat files can have different delimiters and are stored in different folders and there are multiple destination tables as well.

Free eBook: Performance Tuning with SQL Server Dynamic Management Views

Additional Articles from Redgate

Dynamic Management Views (DMVs) are a significant and valuable addition to the DBA's troubleshooting armory, laying bare previously unavailable information regarding the under-the-covers activity of your database sessions and transactions.

From the SQL Server Central Blogs - Ethics in Modern Data presentation at SQLSaturday Austin BI Edition 2020

Will Assaf from SQL Tact

Excited to launch another new presentation, the first co-presented with my wife, on Ethics in Modern Data. We'll explore the ethical considerations around historical bias, ethics in analysis and...

From the SQL Server Central Blogs - Speaking at PowerShell Summit 2020!

aen from Anthony Nocentino's Blog

I’m proud to announce that I will be speaking at PowerShell + DevOps Global Summit 2020 the conference runs from April 27th through April 30. This is an incredible event packed...


  Question of the Day

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


The Dictionary Keys

I have this dictionary in Python:
Teams = {"DEN": "Denver Broncos", "KC": "Kansas City Chiefs", "OAK": "Oakland Raiders", "LAC" : "Los Angeles Chargers"}
What method gives me a list of the keys in the Teams variable?

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



  Yesterday's Question of the Day (by Grant Fritchey)

Execution Plan Types

How many different execution plan types are there?

Answer: 1

Explanation: Believe it or not, there is only a single type of execution plan. The only difference between an execution plan stored in the Query Store, one stored in cache, one captured through the "estimated plan" button in SSMS, one captured through the "actual plan" button in SSMS, or one captured through Extended Events/Trace, is the time of the capture and, the addition of runtime metrics. The addition of runtime metrics does not fundamentally change the execution plan. The execution plan remains exactly the same. There are simply additional properties for any execution plan plus runtime metrics. It's not a new type of plan. There is currently a bug however. The plans captured using Extended Events and Trace have a slight malformation in the XML. Strictly technically, one could argue that this constitutes a second type of plan. This is why I didn't offer 2 as a possibility.

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 2016 - Administration
DIff Backup on secondary replica in AG - Why differential backup is not supported on secondary replica in AG?
How to Insert EventViewer records to SQL Server Table - Hello, I developed the below code to scan through cluster error issues happening in the last 48 hrs. But if I need to insert the reocrds to a table, how to achieve the need? Get-EventLog -LogName "system" -after (((get-date).AddDays(-2)).date) | where {$_.InstanceId -eq 1069 -or $_.InstanceId -eq 1045 -or $_.InstanceId -eq 1205 -or $_.InstanceId -eq […]
Administration - SQL Server 2014
ould not open file I:\DataFiles\Alerts.mdf for file number 1. OS error: 3 - Date,Source,Severity,Message 02/07/2020 08:57:48,spid20s,Unknown,File activation failure. The physical file name "L:\LogFiles\Alerts_log.ldf" may be incorrect. 02/07/2020 08:57:48,spid20s,Unknown,FileMgr::StartLogFiles: Operating system error 2(The system cannot find the file specified.) occurred while creating or opening file 'L:\LogFiles\Alerts_log.ldf'. Diagnose and correct the operating system error and retry the operation. 02/07/2020 08:57:48,spid20s,Unknown,Unable to open the physical file "I:\DataFiles\Alerts.mdf". Operating system error 3: […]
Development - SQL Server 2014
Group by the messages based on the Column and retrieve the records - Hello All, First of all, I would like to thank you for going through my topic. So the question is I need to compose the message and send it to the recipients based on the Notification Type (Phone, and Email). For that, I have written the below query which basically composes the part of the […]
SQL 2012 - General
Figure out Source of SPID retrospectively - Hi All I am looking for a way to find the source of a SPID that ran a query last night. I have inherited an SQL environment and there are DBCC queries being ran at 10pm each night. They are not being ran as SQL Agent Jobs or scheduled SP's so I assume they are […]
i get error All queries combined using a UNION, INTERSECT or EXCEPT operator mus - problem I get error All queries combined using a UNION, INTERSECT or EXCEPT operator must have an equal number of expressions in their target lists I need to display data plus one record display as first row as structure of data the following data is desired result bold row i need to added ItemId IPN […]
SQL Server 2012 - T-SQL
What EXACTLY are brain dumps, are "historical questions" illegal and so the VCE - Hello. This is probalby sensitive question, so i will try to explain it as clear and precise as possible. I've read the exam policies and FAQ of MS Server 70-461 exam, spefically the "exam security and integrity process". I am new at this subject, so please help me out. For what i understand, brian dumps […]
SQL Server 2019 - Administration
MS SQL access from Mac - I am trying to access a local MS SQL server (running in a Docker container) on my Mac. I have no trouble if I use sqlcmd but I cannot get Python to work. Here is the beginning of a script: from sqlalchemy import * engine = create_engine('mssql+pyodbc://userid:password@localhost') con = engine.connect() This results in: pyodbc.InterfaceError: ('IM002', […]
SQL Server 2019 - Development
Selecting the results of a Common Table Expression after using INSERT INTO - Here I have a common table expression followed by INSERT INTO.  After that, I want to SELECT the results so I can see the newly inserted data, however I get an error.  I presume this is because after the first occurrence of SELECT, INSERT INTO, UPDATE or DELETE the CTE can no longer be referenced. […]
Identifying Empty columns - Hi is there a way to identify empty columns. I'm going through a new database right now and dropping columns that have never been used. I've been generating SQL statements to get the max length value of each column and identifying columns that return NULL If there is an easier way to do this I'd […]
Reporting Services
SSRS 2016 Report Server DBs in a Basic Availability - I have a 2 node cluster on which I need to setup AlwaysOn as standalone SQL instance...since it is a standard edition we would be going with Basic AGs. I can easily get the user databases added into the AGs but I am not sure about how it would be if we add the ReportingServer […]
Cached Report Readiness - Hi, I have a report that is pretty complex and performance is not as good as I'd like it to be. Luckily, report is running of data snapshot, so when snapshot is ready, I'm caching report and set it to Always run this report against pregenerated snapshots. creating a snapshot takes 10 to 15 minutes. […]
SSRS 2012
SSRS Table Display - Wanting to do some complex (at least to me) manipulation of data that looks like this: And massage it into an SSRS table that looks like this: I've made the following attempt: And it is doing something close to what I want, but not quite: In cases where there are more than one fees per […]
Calling a SQL Server Agent job - Hi, I was looking for a way or possibility to call a SQL Server agent job using a powershell script. And wanted this powershell script to be in a windows task scheduler job. I am pretty new to PowerShell, and so far I was able to get a script as below: (but does not call […]
Integration Services
Zappysys SSIS Send HTML Email Task (FREE) - Does anyone know if the Zappysys SSIS Send HTML Email Task is free to use in VS and SQL Agent forever or just for 30 days without a purchase? The website suggests it is free but they they talk about a 30 trial for some components. SSIS Send HTML Email Task


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 This newsletter was sent to you because you signed up at
©2019 Redgate Software Ltd, Newnham House, Cambridge Business Park, Cambridge, CB4 0WZ, United Kingdom. All rights reserved.


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