SQLServerCentral - www.sqlservercentral.com

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

Featured Contents

Featured Script

The Voice of the DBA

I Will Write Bad Code

I'll write bad code. I know it will happen. I'll produce a bad query, incorrect logic, or the wrong data transformation being returned.

This won't be a malicious act. It might be because of ignorance, or perhaps just a simple mistake. My code might be the result of short-sightedness or not accounting for a potential situation. I might even misinterpret poorly written specifications and place the blame on others. Maybe I'll misread the code and won't realize there's a problem.

And, for sure, this code will get deployed to production.

At some point I know this will happen, to me or someone else. And for whatever reason, I need to account for that fact in my software development process. I can't prevent mistakes, as decades of software development have proven. Despite my best efforts, code reviews, the tests implemented in QA and elsewhere, bad code is going to get deployed.

The important thing in any software development project is how you handle the mistakes. How do you move forward, and certainly, how do you apply a patch? Can you do it quick enough to minimize the impact to clients? Or must they deal with the issues, developing the workaround or missing functionality for a significant portion of time? Or will they consider abandoning your software for some other vendor?

One of the reasons I continue to advocate for a DevOps approach is that a known process can enable you to fix your mistakes in a timely manner. With a consistent approach to writing, testing, and deploying software, you can apply a patch when it is needed. Certainly the code needs to be logically fixed, but a reliable process will help ease all the overhead of getting your code to a production system.

DevOps can be implemented many ways, and if applied in name only, things won't improve. We can't say we're using DevOps, or we're coding faster, or we release every week. We need to really implement the three ways. However, if you approach your project and staff with the idea that although things are flawed, they can be improved and made better, you'll find that you can deliver those fixes for clients in an extremely timely manner with a minimum of risk.

DevOps allows us to move faster, but that's not the goal. The goal is that we improve things and have confidence that we can release when we want to, in a repeatable, reliable, less risky fashion.

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 ( 3.7MB) 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.

Redgate Hub

The best career move you can make

On the new Redgate Hub, we’ve gathered together a wealth of information to help you solve problems, share ideas and discover the latest insights. Whatever you need to know about to advance your career, the answer is probably right here. Move to the Redgate Hub

SQL Clone

SQL Clone: Now supporting databases up to 64TB

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


Automate MSBI deployments Using PowerShell

Kunal Rathi from SQLServerCentral.com

There are various ways we can deploy MSBI project deliverable. This article will give you an idea to automate MSBI deployments using Windows PowerShell. More »


sp_AllNightLog: Creating Jobs Like I’m The President

Additional Articles from Brent Ozar Unlimited Blog

Erik Darling explains why sp_AllNightLog creates so many jobs by default. More »


Extending DevOps practices to SQL Server databases with ReadyRoll from Redgate

In this webinar, Microsoft MVP Steve Jones and Redgate’s Arneh Eskandari will show you how Redgate’s Database DevOps solution can work to improve your database development and deployment processes. You'll see a demo of the following Redgate tools - ReadyRoll, DLM Automation and DLM Dashboard - and see how they plug into GIT. There will also be plenty of time to ask Steve and Arneh questions. More »


From the SQLServerCentral Blogs - Database Fundamentals #9: Schemas As Containers

Grant Fritchey from SQLServerCentral Blogs

Schemas are a very useful tool for managing the objects in your database. From security through process, through placement, schemas... More »


From the SQLServerCentral Blogs - SQL Server on VMware VMworld USA Videos Now On YouTube

kleegeek from SQLServerCentral Blogs

I just realized that our two SQL Server on VMware sessions that I co-presented on Tuesday at VMworld USA, both of which made the top... More »

Question of the Day

Today's Question (by Steve Jones):

At which version of SQL Server did Extended Events (XE) include all the same events that are available in SQL Trace?

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: Extended Events (XE).

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


Pro Power BI Desktop

This book shows how to deliver eye-catching Business Intelligence with Microsoft Power BI Desktop. You can now take data from virtually any source and use it to produce stunning dashboards and compelling reports that will seize your audience’s attention. Slice and dice the data with remarkable ease then add metrics and KPIs to project the insights that create your competitive advantage.

Yesterday's Question of the Day

Yesterday's Question (by Steve Jones):

I have a simple matrix of values that represent some data. The data looks like this:

> m

     [,1] [,2] [,3] [,4] [,5]
[1,]    1    1    1    1    1
[2,]    1    2    2    2    1
[3,]    1    2    5    5    1
[4,]    1    2    5    5    1
[5,]    1    1    1    1    1

I'd like to get a quick visualization of this. If I run the image(m) function, what type of image to I get?

Answer: A heat map


The result of the image() function is a heat map. 

Ref: Image - click here

» Discuss this question and answer on the forums

Featured Script

Get SSAS Tabular Model (2016) Roles using Powershell `

Thasigan Chetty from SQLServerCentral.com

Open Powershell and execute the following script.

Or excute from a SQL server job.

Dont forget to update the script with the necessary server names.

Also create a table in a sql database.

[SSASDatabaseName] VARCHAR (XX)


,[SSASUsername] VARCHAR (XX)

,[Timestamp] DATETIME2

And updates those details on the script ($query = "INSERT INTO [xyz].[dbo].[xyz]).

More »

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

Error moving log.ldf - Hi all, Tried moving log.ldf to another drive but hit error. Script and error as below... ALTER DATABASE dbName set offline ALTER DATABASE...

Upgrading from SQL Server 2008 R2 to SQL Server 2016 - Hi All , We have all application databases in SQL Server 2008 R2...

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

Convert Teradata CASE to t-SQL CASE with CAST and an Operator - Hello, I've got a Teradata Case statement, and I'm trying to convert it to a T-SQL Case statement, and I...

Replace the first charatcer in a String - I want to replace all the values in a Column that starts with 0 to start with 27. Please help.

remove spaces in strings - hi , i hvave a value something like this column scrapetype "WebCrawler.Crawlable.EURRUSSIA.C_Darty ". My join is on this column and it does not...

SQL Server 2014 : Development - SQL Server 2014

Finding Consecutive Values For a Record - I have a table that shows if a record has a value for each month.  A zero is given for...

SQL Server 2012 : SQL 2012 - General

Changing password of sa account and / or disabling the sa account -> SQL agent jobs - Hi  I have some servers where sa account is enabled and seems to be connected internally. I have checked agent jobs...

Microsoft documenation on SQL server certificate accounts and roles for auditng password change purposes - Hi I am looking for official Microsoft documentation on sql server certificate mapped logins and sql server roles. These certificate...

Running total with reset condition - hi all, i would like a running total with a restart after a certain limit.  Let set the condition to be...

Can't connect to SQL Server via IP - Have SQL Server installed on a Windows 7 machine which is being used as a server (not my idea).  Company...

SQL Server 2012 : SQL Server 2012 - T-SQL

Creating a table from existing table. - I have a table which is 175GB in size. I am working on getting only the data from August and...

Problem with parameterized query - Hi All, I have a problem with a parameterized query. I need to pass the conditions as following exec sp_executesql N'select * from companies...

Updating 1 record in Table A with multiple records in Table B - Hello.  SQL Server 2012, novice level programmer.  I am trying to UPDATE a master table with records from a daily...

Eliminate cursor with while loop inside it - Good morning, I am trying to migrate transactions (charges/payments) from a old application to a new one. The new application works as...

SQL Server 2008 : SQL Server 2008 - General

Determining Memory Pressure - Dear Experts, I'm trying to figure out if my SQL server is facing any memory pressure . Its a 64 GB memory...

SQL Server 2008 : T-SQL (SS2K8)

EXCEPT in a trigger - Hi I have an Update trigger using binary_checksum to determine differences in many fields.  It's a SQL 2005 DB, which I don't...

SQL Server 2008 : Working with Oracle

PL_SQL compares with T_SQL - I think this is a place I can ask this question, because most  people here may know both PL_SQL and...

Reporting Services : Reporting Services

Print a specific page in SSRS report - I have a SSRS report with multiple pages, I want to print only specific pages / or say selected pages.. 1) for...

Data Warehousing : Integration Services

Problem Debugging Script Task - Hi. We have a strange problem when trying to debug a script task in SSIS 2012. Here's the scenario - my...

SQL Server 2005 : SQL Server 2005 Integration Services

Failed to acquire connection when using transactions - MSDTC - Hello, I'm at my wits' end trying to get a package to work with transactions, so I'm hoping someone here can...

This email has been sent to {user_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.
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