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

Everything is Code

I posted a note on Twitter/X with this quote: “The content updates had not previously been treated as code because they were strictly configuration information.” This is from testimony given by Crowdstrike to a US Congressional committee in trying to explain how they grounded much of the airline industry a few months ago. That was a mess of a situation, and apparently, the vendor didn't think their configuration was part of their code.

That's an amazing viewpoint to me. The fact that any developer or manager thinks that their configuration data isn't a part of their code is worth testing. Yet, I see this attitude all the time, where developers, QA, managers, and more think that the code is the only thing that changes or doesn't change, ignoring the fact that there are configuration items that affect the code and need to be managed appropriately. Certainly, if the config data were in enums rather than in a file or database they'd feel differently.

I think part of the reason that people try to ignore config data is that it is hard to manage. Often config data might change between dev, test, and prod. Dealing with that, and testing appropriately is hard. I haven't ever seen a good solution for getting data into an environment the first time. That's the hard part. Once the data is there, you can use it as a token where it is needed, and hopefully, the value has already been tested. At the very least, you can test how that data affects that environment.

I am glad to see Crowdstrike publicly recognize that they need to dogfood not only their code changes but also their config changes. However, for a company that hasn't shown a rigorous engineering approach, I suspect they'll test very simple and basic config changes and not necessarily do a good job of carefully testing a variety of potential problem vectors. That takes work, and excluding config data from testing is a sign (to me) of a technology group trying to avoid doing too much work. It's likely more management and leadership than technology workers, but the entire organization is showing signs of shortcutting good engineering.

My view is that developers should be free to experiment and try lots of things, and have a lot of freedom on how they build software. I think the same thing for infrastructure people as well. However, as we start to move our changes towards production, everything should be in code, version-controlled, and promoted through PRs. In other words, get everything stored as code and nothing gets changed outside of development. It only gets approved to move forward or rejected, after it's well tested.

That's a tough process to implement, and one many companies don't spend the time doing, but for those that do, they end up deploying many  fewer bugs.

Steve Jones - SSC Editor

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

 
 Featured Contents
SQLServerCentral Article

Adding new files to a log-shipped database (SQL Spackle)

WayneS from SQLServerCentral.com

Freshly minted MCM Wayne Sheffield fills a log shipping crack that could otherwise cause you to re-initialize your log shipping.

External Article

Database Sharding: Strategies for Seamless Scaling and Performance Optimization

Additional Articles from SimpleTalk

Companies of all sizes and across industries are struggling to cope with an explosion of data never before seen in the short history of computing. As applications reach new levels of sophistication and become deeply interconnected, these companies find themselves increasingly overworked, overheated, and at their wits’ end, desperately trying to squeeze just a bit more performance and availability out of their aging database architectures.

Technical Article

PASS Summit 2025 Dates

Press Release from PASS

You heard it here first, PASS Data Community Summit will return to Seattle next year! Save the date, as PASS Summit will take place in person at Summit, Seattle Convention Center, from November 17-21, 2025!

Blog Post

From the SQL Server Central Blogs - Connection String Confusion in SSMS

Steve Jones - SSC Editor from The Voice of the DBA

Recently I was trying to use a connection string to connect in SSMS. There are some tools that have a connection string available as an output, including some Redgate...

Blog Post

From the SQL Server Central Blogs - A word on misogyny/sexism in cybersecurity/IT

K. Brian Kelley from Databases – Infrastructure – Security

Recently, on a post celebrating a female professional earning a significant achievement within the cybersecurity field, another individual (male) commented wondering if this was due to DEI. The one...

Deciphering Data Architectures

Deciphering Data Architectures

Additional Articles from SQLServerCentral

Data fabric, data lakehouse, and data mesh have recently appeared as viable alternatives to the modern data warehouse. These new architectures have solid benefits, but they're also surrounded by a lot of hyperbole and confusion. This practical book provides a guided tour of these architectures to help data professionals understand the pros and cons of each.

 

 Question of the Day

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

 

Statistics Histograms

I have a statistics objects with 2 key columns from my tables. How many histograms and their type are stored?

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)

Starting to Estimate Disk Storage for Memory-Optimized Tables

If I have durable memory-optimized tables, what is the starting point for estimating storage space?

Answer: Four times the size of the table

Explanation: The starting point is four times the size of the table. Indexes are not persisted. Ref: Storage Capacity for Memory-Optimized Tables - https://learn.microsoft.com/en-us/sql/relational-databases/in-memory-oltp/configuring-storage-for-memory-optimized-tables?view=sql-server-ver16#storage-capacity

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
Linked server and trouble between manager and agent - Hello, I have a problem and i don´t understand it. After to link a server, i execute delete top(1) from LinkedServer.MyDB.dbo.MyTable From mananger works fine but from a agent's job fails with error 18452 "The login failed. The login is from an untrusted domain and cannot be used with Integrated Authentication." I don't know why […]
SQL Server 2019 - Administration
Changetracking disabled in database snapshot, new bug in ms sql 2019 ? - Hi, We are using database snapshot together with changetracking to keep a datawarehouse up to date. The database snapshot is used to have transactional consistency for the duration of the warehouse update, without having any locking issues. CREATE DATABASE [DB_SS] ON (NAME = 'DB', FILENAME = 'DBFile') AS SNAPSHOT OF [DB] The changetracking functionality is […]
Impact of adding the opening of the Master Key in a SQL job for SSIS packages - Bonjour à tous, J'ai un problème d'exécution de mes packages SSIS. A chaque opération de basculement, les packages ne s'exécutent pas correctement et je suis obligé d'ouvrir manuellement la Master Key à chaque fois. La base de données SSISDB est en disponibilité active permanente (AG). J'ai vérifié les connexions et les configurations, mais je ne […]
Switch from MSSQL SVC to MSA - Unable to start services - Using MSSQL 2019 standard edition It was installed using SVC Account. But now I want to switch from SVC to Managed Service Account. When I granted folder level permissions for NT SERVICE\MSSQL$SQLSERVER and NT SERVICE\SQLAgent, and tried to switch, it is throwing below error after starting agent. it shows like Services are started aling with […]
SQL Server 2019 - Development
Need to group the same valued ID fields to run an aggregate average over them - I have data that contains poll results, with the poll_id consistuting a single row of data for each candidate in said poll, so a poll_id will have a minimum of two different rows (not my design, parsed from ABC polling results). Sometimes there are more than 2 rows for each distinct poll_id as the survey […]
SSIS Question - Hi everyone.  I am re-writing a portion of my SSIS logic.  My SSIS package downloads daily stock market data and then performs calculations for each trading day.  Once a particular day's calculations have been done and stored there is no need to re-do this work when new data is added.  Only new data should be […]
SQL Azure - Development
Azure SQL DB CLR - Hi, Azure SQL DB doesn't support CLR, if we have an application with CLR and assemblies, is there a workaround for it? SQL Managed Instance is an expensive option and Migrating to VMs will have a lot of management overhead. I would like to know if anyone has managed to migrate to SQL DB without […]
ETL data load DML SP slowness suggestion - Hi All, We are using Microsoft SQL Azure SQL 2022 (12.0.2000.8). Some of our ETL SPs are running very longer more than 30 minutes. The reason is it is doing a lot of DML - almost 15 (Sometime 100) million Insert, update and delete. Table size is (196113141 rows and size 120 805 792 KB) […]
SSDT
SSIS package Excel source hanging in validation or prepare for execute phase - Hi everyone, For several weeks now we have issues with an SSIS package connected to an Azure SQL server which sometimes (at least every few days) hangs in the Validation phase of an Excel source task which reads an Excel file from a shared network drive, or lately, also failed with error in the Prepare […]
Integration Services
An error occurred while skipping data rows - I am trying to build an ETL for an Existing Table. The ETL (SSIS) Takes data from Excel, Convert it into CSV. The Data in Excel Source is: INSERT INTO YourTableName ( [Fiscal year/period], [Company Code], [Contra Company Code], [Account], [Level 1], [Level 2], [Level 3], [Level 4], [Generic Material], [Metric], [Unit], [Value] ) VALUES […]
SQL Server 2022 - Administration
Steps to restore database which is part of Trans replication and Allwayson db - We have a Setup where replication and AG is configured as below. Servers:Node1,Node2 ==>Node1 Instances: SQLNode1/distributor, SQLnode1/Pub, ==>Node2 Instances: SQLNode2/distributor, SQLnode2/Pub, --> Distributor database is configured as remote server and configured in AG between SQLNode1/distributor and SQLNode2/distributor -->Both Publisher(DB-A) and Subscriber(DB-A-reporting) database are in same instance SQLnode1/Pub and SQLnode2/Pub which are on configured on Same […]
What is causing this error? - (This is probably the wrong forum to be posting this question, so please forgive me. I did try to figure out the correct one, but none of the other forums looked right to me.) Every time I get into SSMS 20.2 I get this error: Does anyone have any idea what's wrong and how I […]
SQL Server 2022 - Development
case statement with and like operators - Hello, I'm trying to remove results from this sql statement where the custid like '%abc%' and company = 'abc', but think I'm getting the syntax wrong. Not including the entire thing, hopefully it's enough. the case statement begins at t2.custid. Please help if you can, thank you! t1.Company, t2.CustID (CASE WHEN custid like '%abc%' and […]
update error. Subquery returned more than 1 value - Hi friends. how can i fix that? ;with cte as (select distinct(e.Id ) from SecurityKmsAbfa..EnterprisePositions e join SecurityKmsAbfa..Import_UsersTeh i on e.Name=i.vahedeSazmani join NewKmsAbfa..Members m on m.SSN=i.kodeMelli ) update SecurityKmsAbfa..users set EnterprisePositionId = (select id from cte ) from SecurityKmsAbfa..Import_UsersTeh i join NewKmsAbfa..Members m on m.SSN=i.kodeMelli join SecurityKmsAbfa..users u on u.Id=m.id where u.EnterprisePositionId is null
THE CSV PROBLEM - Hello everyone, First of all, thank you very much for this great community. I hope you can help me. I have been struggling for days with importing CSV files. The background is that I am currently doing an SQL course and would like to work with the CSV files provided. I have already tried all […]
 

 

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

 

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