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

Developer Time is More Valuable Than Ever

We ask a question about the drivers for DevOps adoption each year in the State of Database DevOps Report. Responses to this question have remained relatively steady in previous years. In the 2020 survey, the top three responses remained ranked in the same order as in prior years, but we saw an interesting change:

  1. To increase the speed of database changes – 28% (down 2%)
  2. To free up developers’ time for more added value work – 24% (up 7%!)
  3. To reduce the risk of losing data during the deployment process – 12% (down 1%)

Notably, more people responded that making the most of developer time for added value work is their top motivating factor when it comes to DevOps adoption.

It’s interesting to think about developer time when it comes to the top two results: the “freeing up developer time” isn’t simply about allowing them time to code more changes which are delivered more quickly. This choice also specifies that it’s important that the time be used for “added value” work: in other words this is related to increasing the business value of the work in some way and not simply related to routine or expected changes to maintain existing functionality.

This result may be related to findings from other studies which are beginning to be understood by more organizations. The 2018 Developer Coefficient report found that “companies waste $300 billion of developer productivity every year,” citing the time developers spend on maintenance issues and repairing code defects. The 2019 Accelerate DevOps Report used a research model which shows that “organizations can improve engineer productivity by investing in easy-to-use tools and information search, a culture of psychological safety, and by reducing technical debt.” Along with other studies, these pieces of research have helped uncover the “toil” which takes up engineer time and reduces the ability of developers to deliver quality new features quickly.

Whether you are a database specialist or not, this shift in responses is helpful to be aware of if you want to influence change in your organization: when talking about why you want to do something, explaining this in terms of added value for the company is more important than before. While people still care about “speeding up” and “reducing risk” quite a bit – those are still important – it’s increasingly important to think about the specific business value of a proposed change, and to express that in a way your audience can understand. Our data suggests that doing so will help make your proposal more persuasive.

Kendra Little

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

Redgate Data Masker
  Featured Contents

A quick search without an index

Alex Chamchourine from SQLServerCentral

Alex Chamchourine explains how he managed to find a row in a billion row table without an index.

Simple DBCC CHECKDB process to report on database corruption for all SQL Server databases

Additional Articles from

As DBAs, we all know how important it is to check all of the SQL Server databases under our care for potential corruption issues. However, to accomplish that, we might not have the time to do any of the following:

Checking for Database Events Using Extended Events and SQL Monitor

Additional Articles from Redgate

You need to make sure that nobody tampers with your production databases, or really any databases outside Development. Even if you weren't of a nervous disposition, you'd want to know if a database was stopped or removed. You'd also be intrigued by the sudden unrehearsed addition of a database to a production server.

From the SQL Server Central Blogs - Extended Events: Histogram Output

Grant Fritchey from The Scary DBA

The single most important thing to remember about Extended Events is that this functionality is not simply a replacement for Profiler/Trace, but a whole new tool with new functionality....

From the SQL Server Central Blogs - Azure Databricks Performance Notes

Rayis Imayev from Data Adventures

(2020-Feb-04) I didn't name this blog post as "Performance Tips" since I'm just creating the list of helpful notes for myself for tuning the performance of my workload with delta...


  Question of the Day

Today's question (by Kathi Kellenberger):


The "Median" Function

There are many aggregate functions available in SQL Server. Which function can be used to calculate a median?

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



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

Identifying Forced Plans

The Query Store has a number of catalog views that help you to track and understand the behavior of your queries and query plans. When you mark a plan as forced, one of these views, sys.query_store_plan, is updated with the column is_forced_plan being changed from 0 to 1.

If you were to retrieve a plan from cache, is there any way to know that the plan was forced and if so, how?

Answer: Yes, a new property is visible in the first operator called "Is Forced Plan" and it is set to true

Explanation: Interestingly enough, the property doesn't exist in non-forced plans, so you'll never see "Is Forced Plan" set to false (in any of the existing versions of SQL Server).

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
Procedure master..xp_cmdshell - Msg 15121, Level 16, State 10, Procedure master..xp_cmdshell, Line 1 [Batch Start Line 2] An error occurred the execution of xp_cmdshell. A call to 'CreateProcessAsUser' failed with error code: '1314'.   working on migrating from SQL Server 2008R2 to 2017 when creating proxy account and running xp_cmdshell using sqlserver login I am getting the error […]
SQL Server 2017 - Development
Data Extraction Tools - Currently using SQL Stored Procedure to write a script joining multiple to form a data and insert into another table.   Is there any other data extraction tools can replace above?
SQL Server 2016 - Administration
Unwanted database showing in 'Linked Servers' catalogs list - Hello experts, I've created a remote login and a linked server and granted what I thought were the correct permissions to two databases on the remote server. However, when I open up the linked server, I see an additional database listed. That is a real database on the same remote server, but I don't see […]
SQL Server 2016 - Development and T-SQL
How to add unique row numbers if there is a duplicate records in sql server - Hi All, I am looking for a way to add unique sequence number to my result set in sql server  even though there is duplicates or not. For Example, If first 3 rows are duplicate rows then the sequence should be 1 instead of 1,2,3. Then if the 4th,5th row is duplicate then sequence should […]
Development - SQL Server 2014
bcp hold the csv files and doesnot write to the csv file - Hi, The following is sql statement set @sql = 'bcp xxxxx.dbo.CsvTemp out D:/EDI/INCOMING/test1.csv  -c -t, -T -SDBNAME' DBNAME - server name.. which is part of a stored procedure SP1. When i call this SP1 from .net website... BCP utility just creates the file at the location , doesnot write anything to it and holds the […]
SQL 2012 - General
How to write loop below with best practice performance ? - I work on SQL server 2012 I have temp table get data from excel and based on data exist on excel i insert on table inside loop temp table always have big amount of data may be at least 5000 or 10000 or 15000 or more I need every iteration increased by 5000 rows insert […]
SQL Server 2012 - T-SQL
Date Range Dynamic Column count in sqlserver - dear All   Above format, I need sql server Query  
math issue - Hi, I am applying a formula which separately works but is not working when I put it together is one SQL Statement.  At the end of the code below, I am getting 1.002 and it should be 47.83 Any ideas as to what I am doing worng?? Thank you SELECT CAST((Count(rr.[company_name]) + 1) AS decimal(10,2)) […]
SQL Server 2019 - Development
Country Shape Files and STIntersect - A friend of mine asked me a really interesting question... Imagine a flight path (I guess a linestring of (Longitude, Latitude) points)… I'm trying to figure out all the countries a flight would overfly. I could do it with STIntersect and STBuffer (to give myself some margin for error). But where do I get the […]
Inline and Multi-statement table-valued functions - When you run an inline or a multi-statement table-valued function, either type of function will return a table. Is that table a temporary table? Does that table have local scope or global scope? If #2 is yes, how can you control if the table returned will have local scope or global scope?
Reporting Services
How to export a report to Word from Visual Studio 2019? - I installed Visual Studio Enterprise 2019, Version 16.44 in my PC (Windows 10). I also downloaded and installed SQL Server Reporting Services Projects separately and successfully. I made a SSRS report in my Visual Studio successfully. However, I don't know how to export my SSRS report to Excel and Word. I can't find any web […]
SSRS Parameters OLEDB - Hi I am using OLEDB to connect to an Oracle. I have two parameter which I want to use in my dataset query. What should I put for the parameter. Dataset Query: Parameter positions are indicated as YearParameter and MonthParameter SELECT        DATA_FACT2.HMO_ID, DATA_FACT2.HRS_AUTH, DATA_FACT2.HRS_PAID, DATA_FACT2.Year, DATA_FACT2.Month, DATA_FACT2.RPT_TYPE FROM            DATA_FACT2 WHERE        (DATA_FACT2.Year = YearParameter) AND (DATA_FACT2.Month […]
Strategies and Ideas
Adding a column to a Type 2 SCD - Hello, I have a standard type 2 SCD that is performing well however the business have asked for additional info that needs to be added to the DIM. My issue is that if I add a column, it will set all existing rows to not current and insert a new row for all thus doubling […]
Integration Services
Conditional split variable - All, I'm trying to use a variable in a conditional split condition. I tried a few combinations similar to the following: CreationDate >= (DT_DBDATE)"01/01" + [@$Package::Year] && CreationDate < (DT_DBDATE)"01/02/2019" The year parameter contains a four digit year. Would someone mind advising the correct syntax? I did some searching but with no success. Thanks
Microsoft Access
Find and Copy Data from Another Table - Hi: I want to update DOB in Customers table from Info Table Two tables Customers ID, Name, DOB, Blood Type Info ID, DOB Scenario ======== Find where ID of “Customers” = ID of “Info” then copy “DOB” from Info to “DOB” Customers Note: there is data already in DOB of Customers, i want to update […]


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.


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