SQLServerCentral - www.sqlservercentral.com

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

Featured Contents

The Voice of the DBA

We Have a Date

For nearly half of my life, I've looked forward to new versions of SQL Server. At first I was just hoping to see SQL Server run on a stable OS, as the OS/2 1v.3 was my original installation. That system couldn't run 12 hours without someone restarting it, and the upgrade to SQL 4.2b and OS/2 2.1 was welcome. That change reduced my schedule below the 100hr/week level. It wasn't long after that we upgraded to Windows 3.1 Advanced Server, and never looked back. Since then, I've upgraded through all the versions since. From 6.0 to 6.5 to 7.0, and then all the 200x versions.

This week, Microsoft announced the general availability of SQL Server 2017 will come on Oct 2, 2017. This will also be the version that debuts on Linux and in Docker. I've been running SQL Server on Linux, and overall, I enjoy it. I've experimented with Docker, and since I often have multiple versions running, I think containerized SQL Server is likely the way to go for development systems. Perhaps even further downstream at some point. We'll see, as I'm not completely sure that containers are the best choice for database systems, but I am considering them as a possible replacement for VMs.

I haven't always thought every upgrade of SQL Server was worth installing for many data professionals. I think a few versions were really point releases, incorporating limited changes that affected few people. For my own systems, I've often looked to skip a version, though that depends on my needs. I think SQL Server 2005, 2008, 2012, and 2016 were worthwhile upgrades with lots of new features. However, some of those features are immature, so perhaps 2008 R2, 2014, and 2017 were better choices for moving your production systems.

There aren't a lot of changes in SQL Server 2017, but the addition of Linux and the query plan improvements will be helpful to many of us. If you are looking to install a new system, take a look at this version. It's a more solid SQL Server 2016, even if you don't need the new features. I am happy that Microsoft is releasing more often, giving me the option of adopting new features quicker. I don't know if I'd want something like graph database capabilities, but I'm glad I get the choice in 2017 rather than having to wait until 2019 or 2020.

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.3MB) 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 Compare

The industry standard for comparing and deploying SQL Server database schemas

Trusted by 71% of Fortune 100 companies, SQL Compare is the fastest way to compare changes, and create and deploy error-free scripts in minutes. Plus you can easily find and fix errors caused by database differences. Download your free trial

Database DevOps

Continuous Delivery for SQL Server Databases

Spend less time managing deployment pain and more time adding value. Find out how with database DevOps

Featured Contents


Guide to Create a SQL Central Management Server

David Andersan from SQLServerCentral.com

This post is going to walk you through the process of creating an SQL Management Server. More »


Representing a simple hierarchical list in SQL Server with JSON, YAML, XML and HTML

Additional Articles from SimpleTalk

How difficult can it be to produce a simple hierarchical list in JSON, YAML, XML and HTML from a SQL Server table that represents a simple hierarchy within an organisation. Well once you know, it is easy and William Brewer is on a mission to tell you how. More »


Benchmark your Database DevOps maturity level

Whether you’re only just starting to explore the advantages of DevOps or you’re already fully immersed in the journey, including the database brings additional advantages. Take a few minutes to complete our Database DevOps Maturity Assessment and you’ll better understand how advanced your current processes are, receive recommendations for improvements, and see how your maturity level compares with that of your peers. More »


From the SQLServerCentral Blogs - Confidence Intervals for a proportion – using R

Mala Mahadevan from SQLServerCentral Blogs

What is the difference between reading numbers as they are presented, and interpreting them in a mature, deeper way? One... More »


From the SQLServerCentral Blogs - Recover Deleted Data from SQL Table Using Transaction Log and LSNs

Prashanth Jayaram from SQLServerCentral Blogs

Introduction At times a user may perform UPDATE operation or DELETE operation in SQL server database without applying the WHERE condition.... More »

Question of the Day

Today's Question (by Steve Jones):

Which two permissions are required by clients that want to select data from an Always Encrypted column? Assume the user has SELECT permission already on the table/column.

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: Always Encrypted.

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


Expert Scripting and Automation for SQL Server DBAs

Automate your workload and manage more databases and instances with greater ease and efficiency by combining metadata-driven automation with powerful tools like PowerShell and SQL Server Agent. Automate your new instance-builds and use monitoring to drive ongoing automation, with the help of an inventory database and a management data warehouse. Get your copy from Amazon today.

Yesterday's Question of the Day

Yesterday's Question (by Steve Jones):

I have a CSV with a number of rows and columns that looks like this:

I want to read this into a dataframe in R. What command should I use? Assume the filename is c:\nfl\2016qbstats.csv.

Answer: qbstats <- read.csv(file="c:\\nfl\\2016qbstats.csv")


The way to load a csv file is to use the read.csv() function and give it a filename. The file parameter needs the name of the file, but on Windows, the backslashes need to be escaped.

Ref: read.csv - click here

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

Reset SA password - Hi, I have RDP access to windows server but i doesn't have access to SQL instance. I doesn't have SA password. How to...

Can't Shrink TEMPDB - Hi All, I am getting an odd error when trying to shrink tempdb a little bit DBCC SHRINKFILE: Page 7:2275824 could not...

Upgrade to 2016 questions - All, Unfortunately we are still running a SQL server 2000 server. I've got provisional approval to upgrade it this year so...

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

Get the year and Qtr - Ia am trying to get the year and Qtr from my date column which has values like- YYYY-MM (2017-02). I...

Query running slow across linked server - Hi all Firstly, apologies for the lengthy post, but I'm trying to get everything in I thought would be useful. I've got...

.bat file fails in SSIS - I have created a Execute Process task that runs a .bat file. This bat file creates a very small .txt...

SQL Server 2014 : Administration - SQL Server 2014

Insert fails when trying to create a table. -

SQL Server 2014 : Development - SQL Server 2014

Automate Table Field Names In Query - Not sure if this is possible.  I have one table where the field names may bemodified or new fields added...

Code-first vs database-first, any new developments? - I'm discussing this topic with a developer, and I'm also performing due diligence and looking for other opinions on the...

SQL Server 2012 : SQL 2012 - General

RESOURCE_SEMAPHORE_QUERY_COMPILE Waits - Hi All :), I wonder if anyone can shed some light on the following issue I experienced earlier today. All users reported...

SQL Server 2012 : SQL Server 2012 - T-SQL

Foreign keys disappear following replication - I have a merge replication configuration. The publication database has a number of tables, some of which contain foreign keys. I build...

SQL Server 2008 : SQL Server 2008 - General

Column Length - Dear All, Question regarding the length of a column . As its understandable it has to be in accordance with the data...

Script to Clean up Trace Files? - Does anybody have an already packaged method to clean up trace files that have reached a size threshold?  I have...

SQL Server 2008 : T-SQL (SS2K8)

How to find the year to date value for a given date - I want to write a query to calculate the year to date value for a given date: Example: If the given...

Programming : Powershell

Powershell to get Results and Messages in SSMS inquiry - I have a powershell script that will execute a query on a database that has Replication. $QueryPath = "C:\Replication\RepAsPub.sql" $OutputFile = "C:\Replication\RepAsPub_Result.csv" $ExecuteQuery = Get-Content...

Database Design : Design Ideas and Questions

Naming Conventions - Table and Column Names - I'm pretty old school and I've always created tables and columns following a specified naming conventions that doesn't include spaces...

SQL Server 2005 : Business Intelligence

MSBI career - Hello Everyone, I have 2.11 yrs of experience in SQL Server development and .Net too. Have more interest to Database side...

MSBI - Learning - Hi, I'm working on .NET, Now i'm learning MSBI(SSIS, SSRS, SSAS). Which whicks are better and usefull for beginers on BI topic. Plz...

SQL Server 2005 : SQL Server 2005 Security

XP_CMDSHELL fails execution - Hi All, Got a SQL Server 2005 problem whereby we get the following error: ExecuteDTS (X import): ...

SQL Server 2005 : SQL Server 2005 Integration Services

SSIS Variable Expressions - I created a transfer database task...I want to use a variable I created "InDatabase" as the database name for my...

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