SQLServerCentral - www.sqlservercentral.com

A community of more than 1,600,000 database professionals and growing

Featured Contents

The Voice of the DBA

Software Has Bugs

Every once in awhile I have someone I meet complaining about software quality, usually with regards to some piece of Microsoft software. I'll invariably hear how there shouldn't be bugs in SQL Server or Windows, and Microsoft isn't testing their software. This person will claim that they write software with no bugs. I can't remotely believe this is true, aside from small, somewhat trivial applications. All software has bugs, but there's no way to disprove anyone's assertions unless you can get to their software and examine it.

I do think that some people think their software is more bulletproof than it really is, perhaps because no one really does test the limits of their work. It's easy to assume that there aren't problems when no one has ever probed deeply in the different ways the code might execute. After all, this is one of the reasons that developers turn in code that they think works, but in which others find bugs. They haven't explored enough different inputs against the software. This is also why I think unit testing needs to be constant and evolutionary, growing and changing as you find new issues and bugs in your code.

Recently a vulnerability was found in the Samba software, and apparently it has existed for seven years. This means lots of software was vulnerable, and everyone should be patching as soon as possible. I don't know how many people have port 445 open to the Internet, or even open locally, but plenty of people might now know about the issue, so patching makes sense. Scans of the Internet have turned up hundreds of thousands of devices, some of which are running versions that can't be patched.

This isn't meant to complain about Samba, but point out that this is code that is open source, lots of people have looked at and developed against, and I would guess no shortage of security people have checked this for potential vulnerabilities. And still a bug slips through.

Security isn't hopeless, but it's also hard. Software development, with few boundaries limiting the choices developers can make, allows new interactions among the building blocks of code that have never been seen before. Building code is much, much more complicated than any physical structure because we don't have any of the inherent limits of the physical environment. This means that we will, and do, struggle to test all of our software.

I don't think we'll ever eliminate all bugs, but we can vastly improve quality (as many companies have), by moving to a more DevOps development style where we seek to constantly improve quality as a part of software development. We also have more and more developers also seeking to improve their skills, learning new and better patterns throughout their careers, and hopefully, building better software.

Steve Jones from SQLServerCentral.com

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


The Voice of the DBA Podcast

Listen to the MP3 Audio ( 4.2MB) podcast or subscribe to the feed at iTunes and Libsyn. feed

The Voice of the DBA podcast features music by Everyday Jones. No relation, but I stumbled on to them and really like the music.

ADVERTISEMENT
Foundry

Masking your on-premises database with SQL Data Mask

Redgate's latest prototype tool is rapidly developing. Using SQL Data Mask, you can now mask on-premise SQL Server and Azure SQL databases. This blog post explains how it works, and how you can try it out for free. Find out more

SQL Clone

NEW SQL Clone - version 1 available now!

Create copies of production databases and SQL backups in seconds and save up to 99% of disk space using SQL Clone. Redgate’s new tool removes much of the time and resource needed to create and manage database copies, allowing teams to work on local environments to develop, test and diagnose issues faster. Try it free

Featured Contents

 

What is normal? Finding outliers with R

Nick Burns from SQLServerCentral.com

How do you currently set alerting thresholds? What is normal? And more importantly, what is truly abnormal? We will explore these questions. More »


 

UNION ALL Optimization

Additional Articles from SQLPerformance.com

Paul White digs into row goals as he explains some interesting and inconsistent behavior with UNION ALL queries in SQL Server. More »


 

SQL Data Mask: masking configurations and reports

SQL Data Mask is the latest prototype to come out of the Foundry, Redgate’s research and development division. It copies your database while anonymizing personal data, and you can use it to mask your databases right now, free of charge. This blog post from Developer Santiago Arias explains what's new in the latest update. More »


 

From the SQLServerCentral Blogs - Power BI Custom Visuals Class (Module 53 – Play Axis)

Devin Knight from SQLServerCentral Blogs

In this module you will learn how to use the Play Axis Power BI Custom Visual.  The Play Axis visual... More »


 

From the SQLServerCentral Blogs - Parsing Docker Commands

Andrew Pruski from SQLServerCentral Blogs

Bit of a powershell themed post this week as I haven’t had that much time to research so this one... More »

Question of the Day

Today's Question (by Steve Jones):

What does AUTO mean when this is the value set for PROCESS AFFINITY?

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


We keep track of your score to give you bragging rights against your peers.
This question is worth 1 point in this category: Administration.

We'd love to give you credit for your own question and answer.
To submit a QOTD, simply log in to the Contribution Center.

ADVERTISEMENT

Exam Ref 70-761 Querying Data with Transact-SQL

Direct from Microsoft, this Exam Ref is the official study guide for the new Microsoft 70-761 Querying Data with Transact-SQL certification exam, the first of two exams required for MCSA: SQL 2016 Database Development certification. Get your copy today from Amazon.

Yesterday's Question of the Day

Yesterday's Question (by Stanley Kapfunde):

What does the following command do?

 USE [YourDatabaseName]; DBCC LOGINFO;

Answer: Check the number of virtual log files in a database

Explanation:

Correct Answer is: It checks the number of virtual log files in a database.

The command

 USE [YourDatabaseName]; DBCC LOGINFO;

is undocumented, but checks the number of virtual log files in a database.

Ref: Exploring the transaciton log structure - click here

SQL Server 2014 Development Essentials by Basit A. Masood-Al-Farooq page 20


» 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 : SQL Server 2016 - Administration

SSMS for 2016 missing maintenance task tools - We have a clean install of Win Server 2016 Datacenter with an install of SQL Server 2016 (64 bit). It...

DBCC Check hanging, killed but does not roll back. - Hi everyone. I have a problem with a Killed session. The command Issued was DBCC CHECKDB () WITH NO_INFOMSGS, ALL_ERRORMSGS (Ola Halengrens...


SQL Server 2016 : SQL Server 2016 - Development and T-SQL

Best way to handle a table-based queue? - NOTE: This is NOT a Service Broker question.  The table defined below is accessed by concurrent jobs that select the next...


SQL Server 2014 : Administration - SQL Server 2014

Maintenance Cleanup Task Works Sporadically - I have several cleanup jobs that have been working perfectly for years. But lately, some of them quit deleting old...

Is my database corrupted? - Hi Gurus, I have a sql job that restores my backups every day and runs a DBCC CHECKDB on them. Yesterday...

Stopping Service in Cluster - Stopped SQL service from Configuration manager in a cluster, is the failover supposed to happen? Will stopping SQL Server resource or...


SQL Server 2014 : Development - SQL Server 2014

Prevent Delete - How can I prevent users from Deleting data from all tables in a DB?

Syntax error - using OUTPUT clause with @tablevariable and UPDATE DML - I have a stored procedure where I am trying to update stock values in a table based on values in...

Not able to pass Parameters in Stored Procedure through SSRS - Hello Sir I have created a stored procedure (fetching data from wonderware Historian).I want to pass parameter @Para from SSRS.But its...


SQL Server 2012 : SQL 2012 - General

Daily FULL backups? - I've been told that one of the SQL boxes I started to admin has daily FULL backups. It has one...

Login triggers - some general questions... - Hey y'all... I've been asked to create a trigger on our database server to track and potentially block people who...


SQL Server 2012 : SQL Server 2012 - T-SQL

Need Suggestions on Best way to Query Data - Greetings, I have a table that has 2 columns, TransTableDetail_Trans_To and TransTable_Description. the TransTableDetail_Trans_To column lists store numbers that can repeated...

Pivot Query Help - I have data in this format and i need to pivot it.  create table #temp(ID int, YDate int, DE varchar(200),...

Is the logic the same for these two queries? - Are these two logically the same?  declare @chrono_start datetime, @chrono_end datetime, @record_id int if exists(select * from reclocat where record_id = @record_id) ...

Parse Data in SQL - I have data into field (SS)(DD)(GG) i want parse that field into 3 different column. Is Substring work or there...

Convert varchar to datetime uk english format - I have a column that is varchar(8) which holds a date as 20170609. I need to convert it to datetime...

De-duplicating column values - Hi All, Can someone help me with this SQL code.. I was trying to de-duplicate the columns in my select based on...


SQL Server 2008 : SQL Server 2008 Administration

Data Integrity Check job failure - Hello -- We are using Ola Hallengren's MaintenanceSolution scripts on our server. The Database Integrity Check for the user databases has...


Reporting Services : SSRS 2012

Bulk generation of statements - Hi, I have a request to author content that meets this scenario: - Imagine a bank statement. Opening balance, closing balance...


Data Warehousing : Integration Services

Grief importing date from Excel 2010 to SQL Server 2012, SSIS, Derived column task. - Hello, First of all, I'm an SSIS Noob, and not great with Excel either, someone else created and imported the data...

This email has been sent to newsletter@newslettercollector.com. 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.
Feel free to forward this to any colleagues that you think might be interested.
If you have received this email from a colleague, you can register to receive it here.
This transmission is ©2017 Redgate Software Ltd, Newnham House, Cambridge Business Park, Cambridge, CB4 0WZ, United Kingdom. All rights reserved.
Contact: webmaster@sqlservercentral.com