Problems displaying this newsletter? View online.
SQL Server Central
Featured Contents
Question of the Day
The Voice of the DBA

Looking Back at the Decade

Today is the last day of 2019, and the last day of the 2010 decade. I'm still somewhat amazed by the fact that we're entering the 2020s and we still don't really have flying cars. We're well past 2001 and 2010, and still not much space exploration, though the growth in computing power and AI/ML likely accounts for the success of rockets that can take off and land and be used again. I'm still impressed by SpaceX. I'm also thrilled that I got to see the first rocket that landed successfully. Actually, we didn't see much more than a flare light up and then go out, but my son and I were at Cape Canaveral, watching from the causeway on that historic night.

In the last decade, we've seen a number of SQL Server releases. 2008 R2 was released in 2010, and since then we've had 5 other releases. Back in 2010, we didn't have Availability Groups. We had clustering, Database Mirroring, and Log Shipping for HA/DR. We had no in-memory capabilities or columnstore indexes, things we assume are available now, even though not many of us use them. Maybe more surprising, the idea of SQL Server on Linux was still my most popular joke for most of this decade.

Data became very important this decade, perhaps most notably with the passage of the GDPR in the EU. Whether you think this is a good law or not, it has changed how we view data. No longer is data something that organizations own and humans have no rights against it. I think it's a good start, and lots of other regions are basing laws on the GDPR. We could do better, and ask for more control, responsibility, and accountability over data, but this is a good start.

I also think that many people have started to become more data savvy and competent in how they work with database systems. While we see lots of basic and silly questions at SQLServerCentral, I see less of the completely ignorant questions being posted and more often I see complex requirements that are hard to handle in SQL.

We've seen quite a rise in NoSQL database platforms. Neo4J was released in 2007 and MongoDB in 2009, but both have had a lot of growth in the last ten years. We've seen Apache Spark and Databricks appear and become integrated with SQL Server, which isn't something I'd have thought about in 2010. Similarly, the evolution of Azure SQL Data Warehouse and Azure Data Lake are extremely recent. Windows Azure itself was actually released in Feb 2010. Now, it's a collection of over 600 services that many of you use everyday. AWS has had similar growth to the point where I think many of us do think cloud first for many systems these days.

SQLServerCentral was in v3 of it's existence back then. The original ASP site had been rewritten in ASP.NET and then nHibernate when Redgate Software purchased the site. Since then we've continued to grow and thrive, adding our popular Stairway Series and continuing to help you learn and solve problems every day.

T-SQL Tuesday was just getting going, in its first year. We've now had 10 years of the blog party happening every month. After a long run, Adam Machanic moved on in life and I now manage the event from If you haven't ever participated, it's a good way to get started with a blog and building a brand for your career.

Quit a bit has happened since 2010. Data growth is astounding, and continues to increase. Exabytes were surprising back then, but today we talk in terms of ZB, another order of magnitude. I think that provides lots of challenges and opportunities for us to grow as data professionals in the next decade. I'm looking forward to it, and I hope you are as well.

Steve Jones - SSC Editor

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

Redgate SQL Provision
 Featured Contents

Browsing SSAS Instance over the internet

aveek22 from SQLServerCentral

Problem Developing OLAP cubes have always been fascinating to me. Right after completing the development of a data warehouse, my next line of action often becomes setting up Analysis Services for the warehouse. Although, there are multiple client tools readily available in the market to perform some analysis on this SSAS Server, sometimes it is […]

SQL Server Create Database Examples

Additional Articles from

In this article we look at different T-SQL examples to create a new SQL Server database.

From the SQL Server Central Blogs - Notifications in Azure Data Factory: Email, Internal Alerts, Log Analytics Alerts

Rayis Imayev from Data Adventures

(2019-Dec-15) While working on data integration projects and using Azure Data Factory as your main orchestration tool will help you to develop strategic forward thinking about your development tasks: to...

From the SQL Server Central Blogs - Schema evolution solved using Delta Lake & Databricks

Gerard Wolfaardt from Gerard’s Tech

Don’t know about you, but one of my least favourite data pipeline errors is
the age-old failure caused by schema changes in the data source, especially
when these don’t...


 Question of the Day

Today's question (by Steve Jones - SSC Editor):


The End of 2019

It's the end of 2019, and I want to have a countdown on the TV for a party tonight. I've written an application and then have this code set to run during the evening.
DECLARE @midnight TIME = '00:00:00';
DECLARE @now TIME = '16:00:00';
DECLARE @diff int;
WHILE DATEDIFF(SECOND,@midnight, @now) < 0
  WAITFOR DELAY '00:00:01'
  SET @diff = DATEDIFF(SECOND, @midnight, @now)
  PRINT @now 
  SET @now = DATEADD(SECOND, 1, @now)
PRINT "Happy New Year"
I decide to test this and set now to 23:59:50, but when I run this, it never works. What should I change the WHILE loop equality test to be in order for this to work?

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



 Yesterday's Question of the Day (by Steve Jones - SSC Editor)

The Extra Columns

sys.sql_logins includes extra columns that aren't in sys.server_principals. What are they?

Answer: is_expiration_checked, is_policy_checked, and password_hash

Explanation: The three extra columns are:

  • is_expiration_checked
  • is_policy_checked
  • password_hash

Ref: sys.sql_logins -

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 - Development
Need Correct Query Code Please? Thx. merry Christmas SQL Kids - Compose a SQL query to retrieve all products with its most recent two orders? Products that haven’t been ordered should be listed  also. Use ERD below. Whats Correct Query Code?  
importing text file, bulk insert to populate table - I have to import a text file to build a table and all of the date fields currently are in integer form. It comes in three different ways. The first two are like '20191223' or '0' if there is no date. The third way in the text file is like '2170915', missing the second character. […]
Working with variable length number - please assist I have table 1 and table 2, join them on account number. the problem is that table 1 has extra zeros in the middle and while table 2 does not have extra zeros in the middle, the account number is not always of the same length. see below I need to match the […]
Hadoop for SQL Developers - Hello People I am a newbie in the field of SQL Development and have a silly query. I am doubtful about a thing that if Hadoop is easy to learn for SQL Developers. Is it essential to be aware of Hadoop if I'm totally into the field of SQL Development? How much SQL is required […]
SQL Server 2016 - Administration
Basic Availability Group in Sql Server 2016 Standard edition setup - Hi, I am trying to setup Basic Availability Group in Sql Server 2016 Standard edition SP-2-CU11 and i'm having few issues/questions:My Primary DB is encrypted with Master Key.We have built another Sql server for Always ON but no user DB yet.On Primary Sql server DB, We are taking Transaction Log Backup every hour and FULL DB every […]
Finding Auto Increment value for each table in DB - Hi, I am trying to get the max value of auto identity column with table name and column name. Below is the query I am using which GIVES me table and column name BUT NOT the MAX value. SELECT OBJECT_SCHEMA_NAME(tables.object_id, db_id()) AS SchemaName, As TableName, as ColumnName FROM sys.tables tables JOIN sys.columns columns […]
SQL Server 2016 - Development and T-SQL
Truncate or Insert data with conditions - Good day, I have two tables where A is the source and B is the destination, so what needs to be achieved, when A has no data don't truncate B when A has data truncate B and insert data from A. Need help if (select count(*) from [A]) > 0 truncate table B Insert into […]
Administration - SQL Server 2014
Offline vs Online index operation - As I know, while online index rebuilding, SQL Server virtually creates an index and then at the end it swaps the existing old index with the new created one and then finally drops the old index. I would like to know if these operation same for offline index rebuild. Will SQL Server create virtually an […]
Language conversion Japanese to English for MSSQL Server DB - Hi All, I have MSSQL Server Database  installed on windows in Japanese language. Also OS  ( windows  ) installed in Japanese language. I am as English user not able to any administration on MSSQL Server Database. So Can any one please let me know how I can change the MSSQL Server Database console language to […]
High Page File Usage - Page File Usage in one of our production database server is continuously up-to more than 200% of the total available memory. Is it a signal to add more physical memory?
Development - SQL Server 2014
Reusable Variable - hello, I know there's gotta be a way here, but I'm struggling.  Let's say I have a last name parsing sql statement (using the first few letters) but the rules are complex in the event of hyphenated names, Sr's Jr's etc...  Anyway, I have all that sorted out using SELECT CASE.  This works great, but […]
SQL Server 2012 - T-SQL
Migrating databases - error on login 4064 (cannot open default database) - Hello, I am trying to figure out how to create a script to generate Login mappings to databases. I've search a lot, plenty of cases and examples, but none seem to match my problem. Here a brief explanation: I have daily backups of databases I copy to my new server. No Logins, etc. I restore […]
Reporting Services
VS 2019 TargetServerVersions - I am trying to find out which SQL Server versions are supported in VS 2019 /SSDT for Reporting Services. We have  SQL Server 2008 R2. My Infrastructure team is building a new computer with Windows 10 and it will have VS2019 on it. Our Report Server is SQL Server 2008 R2 and I want to […]
Integration Services
Has anyone used BIML to create Memory optimized tables. - I was hoping to experiment with memory optimized tables for my staging layer to speed up the process. Googling "BIML Create Memory Optimized Table MEMORY_OPTIMIZED=ON" is not giving me nay results. This seems like it would be a common setting for a table used in a staging layer. I am using the table.GetDropAndCreateDdl() code to […]
Article Discussions by Author
Performance Tuning Using Extended Events: Part 2 - Comments posted to this topic are about the item Performance Tuning Using Extended Events: Part 2


RSS FeedTwitter

This email has been sent to {email}. To be removed from this list, please click here. If you have any problems leaving the list, please contact the This newsletter was sent to you because you signed up at
©2019 Redgate Software Ltd, Newnham House, Cambridge Business Park, Cambridge, CB4 0WZ, United Kingdom. All rights reserved.


- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -