SQLServerCentral - www.sqlservercentral.com

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

Featured Contents

The Voice of the DBA

Reasons to Upgrade

I ran across a good article from Glenn Berry about reasons to upgrade to SQL Server 2017. In the piece, Glenn talks about the fact that SQL Server 2008 and 2008 R2 will fall out of Extended Support in 2019. That's about the time that SQL Server 2014 falls out of mainstream support, which is the support that most of us have. SQL Server 2012 has fallen out of mainstream support already. While I don't worry too much about support, some of you may, especially if you are in a regulated industry. Or you're in the EU, in which case the lack of support might be an issue if there is ever some security breach.

The upgrade question is one that most of us ask ourselves constantly. Many of us use plenty of different software packages, and regularly need to decide if we want to pay for a new version of Windows, Office, SQL, SAP, Dynamics, etc. In some cases we may find valid reasons that will give us a nice ROI and are worth the cost. In others, we may wonder if we really need some new feature? I certainly find that in some software, there isn't a compelling reason to upgrade to every new version. 

These days so much software is being released at a rapid pace that we regularly have to make decisions. I get a new version of Visual Studio Code, Evernote and TweetDuck, etc. every few weeks. Often I skip these upgrades because of convenience, and only upgrade rarely to prevent being too far behind. That's a concern because if your software is too old, sometimes the upgrade is painful.

At Redgate, we release patches and enhancements every few weeks, though we don't expect many customers to necessarily upgrade more than once a quarter. There are monthly releases of SSMS and SQL Operations Studio, which I may or may not apply. Often I don't because they're an interruption to my work. Some of us rent software, like visualstudio.com, and we get upgrades whether we want them or not, though often we can use an older version for some period of time.

Many of these decisions aren't that impactful to our work as they are minor changes with little or no cost. Some aren't, and these are the ones that many technical professionals will make recommendations on whether to proceed or not. The database platform is certainly a significant decision as the costs often can significantly impact a budget. This can be especially true for mission critical applications that might require more than one server to meet HA requirements.

Do you tend to lean towards or away from upgrades? I've tended to lean away, with my default answer being I don't want to upgrade. That's if I don't have a compelling reason. If things are roughly equal, I'll stick with what works. That doesn't mean that I don't evaluate the new version and spend some time trying to determine what features or functions might be valuable. Certainly if any of Glenn's features are useful, you might consider moving to SQL Server 2017. If you're coming from SQL Server 2014 or earlier, than you ought to really look at the changes in SQL Server 2016, which are significant as well.

We recently moved SQLServerCentral to SQL Server 2017. We had been on an older OS, with limited .NET support, and when we made the decision, we decided to go ahead and choose the latest version. That's certainly a decision I do endorse. If I'm leaving 2012, 2008, or some earlier version, why stop at  SQL Server 2014 or 2016. Go ahead and get to the latest version, which means you might delay your next upgrade just a bit longer.

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.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.

SQL Prompt

Write, format, analyze, and refactor SQL fast with SQL Prompt

Writing SQL is 50% faster with SQL Prompt. Your SQL code can be formatted just the way you like it, you can create and share snippets with your team, and with code analysis you get suggestions to improve your SQL as you type. Download your free trial

SQL Source Control

How to track every change to your SQL Server database

See who’s changing your database, alongside affected objects, date, time, and reason for the change with SQL Source Control. Get a full change history in your source control system. Learn more

Featured Contents


Scripting Objects with PowerShell

Steve Jones from SQLServerCentral.com

In the third installment of this series, Steve Jones uses PowerShell to source control code. More »


150 SQL Code Smells

Additional Articles from SimpleTalk

Some time ago, Phil Factor wrote his booklet 'SQL Code Smells', collecting together a whole range of SQL Coding practices that could be considered to indicate the need for a review of the code. It was published as 119 code smells, even though there were 120 of them at the time. Phil Factor has continued to collect them and the current state of the art is reflected in this article. SQL Prompt is committed to cover as many as possible of them. Phil has also updated his book, which is free to download. More »


The future of database DevOps

In this post, Redgate's Foundry team reflect on their assessment of the status of DevOps for the database. As well as giving you a behind-the-scenes look at how they've arrived at this thinking and setting out their future direction, they also invite you to shape the future of database DevOps by getting involved. More »


From the SQLServerCentral Blogs - dbachecks – Setting temporary configuration values

Cláudio Silva from SQLServerCentral Blogs

dbachecks has seen the light about two months ago. As I'm writing this blog post, the module counts with more... More »


From the SQLServerCentral Blogs - The Forgotten Fourth SQL Server Recovery Model

Bert Wagner from SQLServerCentral Blogs

SQL Server recovery models define when database transactions are written to the transaction log.   Understanding these models is critical for... More »

Question of the Day

Today's Question (by Steve Jones):

I have a full, stable columnstore index on my SalesTotals table. I add a single new row to the table. What happens with the columnstore index?

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: ColumnStore Index.

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


T-SQL Querying (Developer Reference)

Squeeze maximum performance and efficiency from every T-SQL query you write or tune. Four leading experts take an in-depth look at T-SQL’s internal architecture and offer advanced practical techniques for optimizing response time and resource usage. Get your copy from Amazon today.

Yesterday's Question of the Day

Yesterday's Question (by Steve Jones):

I have built a matrix that looks like this:

> x
, , 1

     [,1] [,2] [,3]
[1,] 2012  173   37

, , 2

     [,1] [,2] [,3]
[1,] 2013  101   17

, , 3

     [,1] [,2] [,3]
[1,] 2014  172   28

, , 4

     [,1] [,2] [,3]
[1,] 2015  147   40

, , 5

     [,1] [,2] [,3]
[1,] 2016  159   31

, , 6

     [,1] [,2] [,3]
[1,] 2017  143   23 

I decide that I will use the APPLY function against this matrix. If I run this, what is returned?

> apply(X=x, MARGIN=2, FUN=max)

Answer: [1] 2017 173 40


The APPLY function will apply the function specified by fun to the matrix specified by x. In this case, the MARGIN parameter specifies that we look at columns and get the max value for each. 

These are 2017, 173, and 40.

Ref: APPLY - click here

In case you're wondering about the numbers, these are Albert Pujols stats with the LAA.

click here

» 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 : SQL Server 2017 - Development

SQL Server Database Tests / Changing Server - We use database tests in our CI environment and these are configured to run on our QA server. This means...

SQL Server 2016 : SQL Server 2016 - Administration

Restoring backup to AlwaysOn Availability Group primary server. - I'm a bit of a novice when it comes to AlwaysOn, so I was hoping some of you that have...

Advanced Data Masking - Good afternoon. I was told that we need to obfuscate the pii data in our lower level environments. I used the Dynamic...

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

Most efficient way of not selecting data - CREATE

SQL Server 2014 : Administration - SQL Server 2014

Log Shipping Secondary Didn't Work When Using the No, the database has already been initalized option - I am experimenting with log shipping in sql server 2014, and am log shipping to 2 secondaries. I synchronized all...

error during backup veem - Hello everyone I have a pb to snapshot the VM that contains two instances sql server I have an error during the...

SQL Server 2014 : Development - SQL Server 2014

Change Data format - Hi Experts, We have a datetime field where date time is saved in below format. Apr 19 2018  8:57AM But  want to...

How can I insert in a single table from different SQL Servers - I am trying to create MSX ans TSX relationship  MSX is SQL1 TSX is SQL2  and SQL3 created a job in SQL1 that will...

SQL Server 2012 : SQL 2012 - General

Deleting AG. Some questions - Good Morning Experts, If i delete the Availability Group(AG) in primary replica, what will be the status of databases in primary...

SQL Server 2012 : SQL Server 2012 - T-SQL

Transpose Rows to column - Can anyone help me to transpose below result SVR    dates    count SRV1    03/25/2018    1 SRV1    04/06/2018    59 SRV1    04/07/2018    9 SRV1    04/13/2018    1 SRV1&nb

Upper Case Lower Case - Hello, I have a field that contains all capital letters.  For example, "SQL SERVER CENTRAL".  Is there a way I can...

Which log file is SQL Server ACTUALLY writing to? - Is there any way to tell what log file sql server is actually writing to, not just what's in sys.master_files? ...

SQL Server 2008 : T-SQL (SS2K8)

Number of Days between two Day Names - I have a table with a Start Day and a End Day Column ID StartDay EndDay 1 Monday Friday 2 Tuesday Wednesday 3 Friday...

Adding GROUP BY to PIVOT operator (how?) - I am trying to show how many employees were hired in each department by startyear (2001, 2002, 2003) and then...

SQL Server 2008 : SQL Server Newbies

Log backup chain - Good Morning Experts, We have backup jobs scheduled(full, differential and tlog) using Idera SQLSafe and they are running as per their...

Log file R drive- What is consuming it - Good Morning Experts. We have a SQL Server instance. All the user databases log files are on R drive. We have...

SQLServerCentral.com : Articles Requested

TRY_CONVERT - A short look at this T-SQL function, and where it can help write better code. Practical examples preferred.

SQL Server 2005 : Business Intelligence

SSIS Execute Package task fails to Acquire Connection - down vote favorite I've a Master package where in I'm calling several packages using Execute package task. Both child and master packages...

Career : Employers and Employees

Does anyone have an example SLA? - Hi, Does anyone have a sample SLA for a SQL Server DBA? I need one to use a template... Thanks, Ron

Career : Presentations and Speaking

Potential presentation idea: Networking -- an interactive how-to - I have yet another presentation idea.  What do you folks think of this? My working title is "Networking: it isn't just...

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 ©2018 Redgate Software Ltd, Newnham House, Cambridge Business Park, Cambridge, CB4 0WZ, United Kingdom. All rights reserved.
Contact: webmaster@sqlservercentral.com