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

Would You Move to Linux for Price?

Running software on Linux is supposed to be cheaper than Windows. After all, you don't need to pay for an OS license, right? I'm not sure I think the price of the OS is a determining factor, since it's a relatively low amount compared to the cost of the database license. I'm sure some of your feel differently, and I'd be happy to listen to your argument as to why the Linux is better on price.

In any case, Microsoft is looking to push the Linux version of SQL Server. For a limited time (until June 30, 2018), you can get 30% off the cost of a SQL Server license. They've also gotten the cost of SUSE Enterprise Server down to $0 for a year if you are a qualified customer. This does require an annual subscription, which I assume means Software Assurance. There's not a lot of information available on their page, and I assume you'd need to call Microsoft and go through the sales process.

It's an interesting offer. I wonder if this would really make a difference for some of you. For the purpose of a discussion, let's say you run an older version of SQL Server on Windows, like SQL 2000 or 2005. You want to upgrade, but your boss has been worried about costs. Now you see a 30% savings on Linux. Do you consider moving to a Linux OS instead of Windows? Let's assume you have some Linux resources inside the company, and so there isn't a large learning curve. Does 30% make enough of a difference do change the underlying platform? After all, for the post part, SQL Server is SQL Server.

What if you are a Linux shop already, and you have Oracle or DB2 in house. You're looking to move some software to a new system, or maybe develop new applications and SQL Server is being considered for cost savings. You've avoided it because it has required Windows in the past. Do you now consider SQL Server a more viable candidate as a relational database inside your environment?

Would you move to Linux for a better price?

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.1MB) 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.

Database DevOps

Benchmark your Database DevOps maturity level

Get a better understanding of how advanced your current processes are, receive recommendations for improvements, and see how your maturity level compares with that of your peers. Complete the Database DevOps Maturity Assessment

SQL Monitor

Don’t just fix SQL Server problems, prevent them from happening

SQL Monitor helps teams looking after SQL Server be more proactive. Not only does SQL Monitor alert you to current issues, it gives you the information you need to stop them happening in the future. Download SQL Monitor now and get a 14 day free trial

Featured Contents


Installing Machine Learning Services – Level 1 of the Stairway to ML Services

ginger.grant from SQLServerCentral.com

This first installment of the Stairway to Machine Learning Services explains the installation process for this subsystem in SQL Server. More »


Free eBook: SQL Server Transaction Log Management

Press Release from Redgate

When a SQL Server database is operating smoothly and performing well, there is no need to be particularly aware of the transaction log, beyond ensuring that every database has an appropriate backup regime and restore plan in place. When things go wrong, however, a DBA's reputation depends on a deeper understanding of the transaction log, both what it does, and how it works. More »


Preventing Invalid Data Early In An ETL Flow

Additional Articles from MSSQLTips.com

In this post, Tim Smith will look at some of the considerations for both data rules and logic to prevent invalid data early in the ETRL process. More »


From the SQLServerCentral Blogs - Database Files Down The Wrong Path

Matthew McGiffen from SQLServerCentral Blogs

I manage a few servers used to host SQL Instances for development and test purposes. Each of those instances hosts... More »


From the SQLServerCentral Blogs - Thoughts and Lessons Learned From A Power BI Embedded POC

meaganl from SQLServerCentral Blogs

I worked on a Power BI embedded POC where a report with an in-memory Power BI model as the dataset... More »

Question of the Day

Today'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)

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: R Language.

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


SQL Server T-SQL Recipes

SQL Server T-SQL Recipes is an example-based guide to the Transact-SQL language that is at the core of SQL Server. This edition has been lightly updated for SQL Server 2014 and provides ready-to-implement solutions to common programming and database administration tasks. Learn to create databases, create in-memory tables and stored procedures, insert and update data, generate reports, secure your data, and more. Get your copy from Amazon today.

Yesterday's Question of the Day

Yesterday's Question (by Steve Jones):

I have database with some unbalanced file sizes in a filegroup. There are three files that are 10GB and one that is 2GB. I decide to remove the 2GB file. I run this:


After doing this successfully, I decide that I should just change the file size of TheFirstFile to match the others. If I change the file size, will new data now go into all four files in a proportional amount?

Answer: No, this file is been marked as read-only


When DBCC SHRINKFILE (x, EMPTYFILE) completes, it marks the file as read only so no data is added to this empty file and you can delete it.

Ref: DBCC SHRINKFILE - click here

» Discuss this question and answer on the forums

Featured Script

Flexible Index reorganize and rebuild

Ugur Yorulmaz from SQLServerCentral.com

This procedure will find most fragmented and most accessed indexes server wide. and then rebuild or reorganize depending on your parameters.

So it will alter/list only the indexes which you will get the most benefit of fixing defragmentation.

Important Note : This procedure can create extensive IO operations. Please check first in DEV environment and beware that altering indexes can also create locks. That's why please use it with caution in PRD environments. Please try to exclude every unnecessary database name in WHERE clause and try to reduce the load.

  1. Please create the stored procedure
  2. Execute the procedure in debug mode first: EXEC sp_FlexibleReindex @Debug=1  this will only list the indexes sorted by most benefit
  3. Please execute the procedure with the parameters that satisfy your needs

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

How to search for Tabs from "Find" in SSMS v17.5 - In SSMS 2012 (and possibly earlier) I could find and replace Tabs in the query window. In SSMS v17.5, SQL can't...

SQL Server 2016 : SQL Server 2016 - Administration

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

Identifying list of users or groups that have create table permission - Experts, Do you'll know of a way to get details on how to get the list of users/groups (we have lot...

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

Sproc and Function stats - 2016 introduced the dynamic view sys.dm_exec_function_stats Was there a way, albeit more difficult I'm sure, to get the same info pre-2016? We're setting...

UDF showing weird behavior when checking if variable holds null value. - I am trying to write a UDF that is used by a check constraint but seem to keep running into...

SQL Server 2012 : SQL 2012 - General

Shrinking mdf file in SQL Server 2012 AlwaysOn cluster database - Hi, I am cleaning  one of our production databases by getting rid of the old temporary tables that creates a lot...

SSIS Maitenance Question - You may know the answer - Folks: Just checking whether there is a way to do this.... Take a look at the picture attached. We have a ton...

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

CDC Enabled database Capture Job failing - Hi.  I am getting the following errors in my CDC Capture job that is failing. The Log-Scan Process failed to construct a...

SQL Server 2012 : SQL Server 2012 - T-SQL

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 : SQL Server 2008 - General

Backups of read-only databases - Hello fellows! I got a question, here we are making  differentials and logs backups of read-only databases, is this recommended? I don't think...

Alternative to SQL Server Agent - Hi there, I am looking for a tool to schedule my SSIS-Packages (besides the sql agent). I guess everyone started with just...

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

Combine rows returned from within a Cursor loop into one Result - Is it possible to combine the Rows returned from a SQL running within a Cursor? DECLARE sla_cursor CURSOR FOR select Name...

SQL Server 2008 : SQL Server Newbies

DBCC SHRINKFILE failing with error Msg 3140, Level 16, State 5, Line 1, Could not adjust the space allocation for file - Hi, I am trying to run SHRINKFILE on one of our data files but it is failing with error "Msg 3140,...

Reporting Services : Reporting Services

Pass Multi Value Parameters to SSRS Report Using URL - Hi , I've a URL below with 5 multi select parameters (Branchcode, Branch, Niche, Team & Consultant) and 3 single select parameters...

Data Warehousing : Integration Services

Variable used as an expression and value is configured from config SQL table - Hello friends, I am trying to configure a value of a variable from configuration table but the value is not getting...

Snowflake to SQL - Hello Friends, I am pulling data from snowflake to SQL using ODBC source in SSIS. But the data process is very...

Data Warehousing : Analysis Services

Process all tabular cubes at once - Hi all We've got a few tabular cubes and we'll be adding more as time goes by. We want to be able...

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