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

Microsoft and Minecraft and Training Kids

Today we have a guest editorial from Andy Warren as Steve is at SQL in the City - Los Angeles. This was originally published on Feb 23, 2015.

My daughter started playing Minecraft when she was 6 years old. She’s had a computer of her own since she was 3, and as much as I think reasonable, I let her try the games she wants to try. Initially Minecraft seemed OK, then it seemed like every other sentence was about creepers, TNT, and blowing things up, which didn’t seem like a good thing. The answer was creative mode. Think of creative mode as building with Legos where physics only sort of apply (in a helpful way). She took to building things and that grew when I showed her how to build inside a mountain or underground as different approaches.

She wasn’t reading when she started, so she had a lot of questions. Where does a 6 year go for questions, besides me? YouTube! She’d go to YouTube, ask me to spell something, and find videos about how to do whatever task in Minecraft she wanted to know more about. She learned to split the screen so she could watch the video while building/playing on the other half. All good, and quite interesting to see what happens when you combine questions with the ability to get a variety of answers demonstrated.

That led to her wanting “mods”, which are user created plugins for Minecraft. They extend the environment with tools, building options, and a lot more. That’s where things turned painful. Installing mods on a good day isn’t bad. You install Forge and dependencies (Scala? Who would have thought), then you copy the mod file into a folder (that strangely is in %appdata%\Minecraft). Sounds easy, but not all mods work. Not all mods work on all versions of Minecraft. Some have other dependencies, or break if certain other mods are installed at the same time. That’s more than a 6 year old (or her father) really wants to mess with it, but we got it figured out, more or less.

In theory she could then load her own mods. Except…the mod environment on the web is treacherous. Pages are filled with deceptive links, including links to exe downloads that flag as infected. Figuring out which link to click is hard. Hard, annoying, time consuming, dangerous. That lead me to try to explain what was ok to click and what wasn’t. Mostly she gets it, especially when I’ve explained that it’s bad people trying to trick her and she doesn’t like bad people, or being tricked!

Enter Microsoft. They purchased Minecraft. Whether that is a good business decision or not remains to be seen, but there is a huge opportunity there for them to train kids. If they clean up the mod system, make it easier to find and deploy them, and then follow that with tools to let children modify existing mods, or build their own from scratch, I think magic might happen. Kids don’t want to learn to program, they want to do things. That’s why Minecraft works today, and why it could become truly amazing if Microsoft invests in the community and the product in the right ways

As a parent I marvel at how fast kids can learn when the resources are available and they want to learn. I hate having to teach them now about deceptive links and malware, but if not now, when? It feels like more than a worthwhile trade. The learning opportunities are just too valuable to forego.

Andy Warren

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

Redgate Database Devops
  Featured Contents
Stairway to AlwaysOn

Stairway to AlwaysOn Level 7: Combining FCIs with Availability Groups

Perry Whittle from

In Level 7 of this stairway, we look at combining Availability Groups with FCIs for both HA and DR protection.

Types of SQL Server Temporary Tables

Additional Articles from

In this series of tips we will look at different ways using temporary data in SQL Server along with examples. In this first part we will cover some reasons for doing this and different types of temporary data stores.

Free eBook: Defensive Database Programming

Press Release from Redgate

Resilient T-SQL code is code that is designed to last, and to be safely reused by others. The goal of defensive database programming, the goal of this book, is to help you to produce resilient T-SQL code that robustly and gracefully handles cases of unintended use, and is resilient to common changes to the database environment.

From the SQL Server Central Blogs - What is Service Broker, and Why Would We Use It?

Pam Mooney from SQLServerCentral

I was recently asked in a Service Broker class that I was teaching why we would use it. Good question! Read on....

From the SQL Server Central Blogs - Using PowerShell in Containers

aen from SQLServerCentral

The vision for PowerShell Core is to be able to run PowerShell anywhere. In this article, I’m going to discuss how you can use Docker Containers to enable just...


  Question of the Day

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


Getting the Date

In the R language, how do I get the current date of the system?

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




  Yesterday's Question of the Day (by Junior Galvão - MVP)

Database Properties

In previous versions of SQL Server, the Page_Verify database property algorithms were used to verify and identify possible incomplete, suspected, or broken pages of data. In SQL Server 2017, what is the new option that should be set to add a certain bit in the header of a page?

Answer: CheckSum

Explanation: The correct answer is the option: CheckSum. The Checksum option, creates a checksum value using the content of the entire page, and saves that value in the header.  When a page is read from disk, a checksum is created again and compared to the saved checksum.  Since any difference in the bytes read for that page will result in a different checksum value, this is a far more thorough method for validating IO. References:


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 - Administration
Upgrading from SQL2008 sp2 - Hi,   Anyone upgraded their SQL to version 2017  from  SQL 2008 SP2  using backup restore? Is it mandatory to upgrade to SQL2008 SP4 then do backup restore on SQL2017? Thanks  
Double click .sql file opens new SSMS session - When I double click a .sql file, it opens SSMS.  If I double click a second .sql file, it opens a new SSMS session instead of a new tab on the current SSMS session.  We are running v17.8.1 Is there setting for this.  Have already looked at the following posts and none of this worked: […]
SQL Server 2016 - Development and T-SQL
Performance difference for stored proc in SSIS vs SSMS (and other questions) - I have a humongous data set that I am updating from another humongous data set. We are talking about hundreds of millions of rows being updated. Apart from partitioning these tables (which are processed by single year batches) I have tuned the update query and indexed the tables so that the execution plan looks very […]
Administration - SQL Server 2014
server slowness - Hello there are 2 servers A and B with the same settings. However when I try to run  a select count(*)  in server A it takes 6 seconds whereas in the other it takes 18-28 seconds can anyone let me know how or where to check for the problem
Development - SQL Server 2014
Merge all rows to one row in results - This is working, thank you to Drew Allen from this forum. I would like to know if this can be tweaked a little. select ai.*, pe.program_name, ac.full_name from all_clients_view ac left outer join alt_id_view ai on ac.people_id = ai.people_id left outer join program_enrollment_view pe ac.people_id = pe.people_id Currently, the result will be like this for […]
Using a third table in small left outer join - HI I have 2 views and I need one more information and not sure how to do this. I thank you for all of your help so far. select b.*, a.full_name from all_clients_view a left outer join alt_id_view b on a.people_id = b.people_id I need to add in the program_name from this view: I don't […]
SQL 2012 - General
How to find a set of sequential values within a list - Hello all, I have a dataset with lat/lon data for vehicles tracking their location every few minutes. It also reflects an estimated speed of travel and the time the record was received/recorded in the database.  A small sample of the data for one vehicle: CREATE TABLE #TESTDATA ( VEHICLEID INT ,LAT INT ,LON INT ,MSGDATE […]
SQL Server 2012 - T-SQL
t-sql 2012 most current year - In the following t-sql 2012, I want to select records from the AMilestone table when the schoolyear is the most current year from the ASemester table. select * from ASemester ASemester join AMilestone AMilestone on AMilestone.SCHOOLYEAR = ASemester.SCHOOLYEAR where ASemester.SCHOOLYEAR = ASemester.max(SCHOOLYEAR) The sql listed above does not work. Thus would you show me the […]
how to encapsulate the same code block with inserted vs deleted in a trigger. - So I have an IUD trigger on a table with quite a few columns.  (Don't ask about normalisation that's another issue).   My code is … INSERT INTO auditTable (a,b,c … k) SELECT a,b,c...k FROM inserted   Later I repeat the exact same for the table deleted.   I was trying to think of a […]
Analysis Services
Calculations - Associated Measure Groups - Hi, I have a current calculation in my cube called 'EUR Rental Value', I added a new calculation called 'USD Rental Value' and when I use excel to connect to my perspective I notice that the new calculation is displayed under the 'Values' measure group and not the 'Sales' measure group. The weird thing is […]
Integration Services
SSIS Script task varaible - Hi Team, I have a script task variable called User::EntryData of type String and I have a string value (Dictionary ) in C# to the Entry date SSIS variable and I am trying to pass it  to a Foreach loop enumerator  using foreachvariable enumerator and loop through all the elements in the variable. But it […]
SSIS Script task varaible - Hi Team, I have a script task variable called User::EntryData of type String and I have a string value (Dictionary ) in C# to the Entry date SSIS variable and I am trying to pass it  to a Foreach loop enumerator  using foreachvariable enumerator and loop through all the elements in the variable. But it […]
SSIS bcp command unable to open bcp host data file - I have a developer that created and SSIS package that uses bcp. the bcp command is on a process task the working directory is the tools\binn for sql server (2012). the executable is bcp and the arguments are out "business" -c -t~ -T -SXXXX There are expressions used in the command @[User::TableName] + " out […] Announcements
Status Update 8 May 2019 - Apologies for missing yesterday. A little coordination problem with a PM out and new people working. I didn't see changes and needed to dig into a few things. We are starting to see some fixes appearing in small ways, and some larger backend ways. Fixes: Redirections should be mostly working. We also have Google/Bing/etc reindexing […] Test Forum
Another test to ignore - Just trying to test some things.....


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.


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