Largest FREE Microsoft eBook Giveaway

(according to Eric Ligman, director of Business & Sales Operations)

I just downloaded 78 books and PDFs on SQL Server, Power Shell, Windows Server, Azure, development, and a lot of other topics that caught my eye.  There’s no indication as to how long the giveaway will be going on, so get ’em while the getting is good.

Words of warning and advice: many of the offerings are only as PDF, some are just DOC, others are also as MOBI or EPUB.  So don’t expect to be able to load everything to your iPad or Kindle and be able to have lovely reflowable and resizable text.  Obviously it’s easy to run the DOCs through Calibre or other programs and convert them to your favorite ebook format, not so easy with the PDFs.  One major problem for me is that some of the links just give you a file with an ISBN#.epub, or a really bad file name, so personally I’d recommend doing a copy of the book title as it appears in the giveaway blog post, then a right click Save As on the link, and paste in the nicely formatted title.


PowerShell on OS-X (or MacOS, whatever) and Linux, and edX Training

First up, Ars Technica announced (along with many others, I’m sure) that Microsoft is releasing PowerShell to the Linux and Mac OS-X operating systems.  It’s an interesting development, especially when you think about running SQL Server on Linux at some point in the future.  I wonder if this heralds a future release of SQL Server for MacOS?  Since it’s available for some flavors of Linux, and MacOS is based on Unix, it seems to me a natural fit.

Next, edX.  LOTS of people know of edX and many have taken courses on it.  A somewhat smaller number have actually completed courses on it, but that’s another story.  This morning I completed Querying With Transact-SQL, DAT201x. It’s an eleven-part course with videos, lab problems, quizzes, and a final exam.  I wasn’t able to work on it the first two or three weeks after it launched, so I crammed the entire course in to about two weeks.  And I learned a bunch of new things, very interesting stuff.  I’ve been working with SQL Server for 25 years, since the initial 4.21a release on Lan Manager.  But we tend to specialize and don’t really use all of the language.  If this describes you, then you might benefit from this course.  It uses syntax that I knew of but that I had never used as it was not needed at the places that I had worked.  And through learning about those and doing the lab exercises, I picked up a lot of information.

The final exam was 21 questions.  Your 11 quizzes make up 50% of the grade, the final the remainder.  You don’t need to do the labs, but if you’re wanting to learn new things, then why not do them?!  You don’t need SQL Server installed on your system as they use AdventureWorksLT(v12) on Azure (a VERY small version of the full-blown AW database), which you can link up to SSMS on any Windows PC.  Obviously you will need an Azure account, and while there are free accounts available, you’ll still need to provide a credit card to register for your free account.  There are almost 90(?!) free courses offered by Microsoft available right now, you’ll probably find something to your taste.

I have a couple of complaints about DAT201X, and they’re probably true of any course like these.  First, I blew a question on the final because it required two responses and I only clicked one (the quizzes and final were all multiple-guess or select something to fill in the blank).  If the software requires X > 1 responses, it shouldn’t let you click the Check button unless that many options are selected.  Next, some of the problems were, in my humble opinion, nonsensical.  In several cases you were processing information that should have been handled by a reporting system.  And a complaint about Azure that caused me some major headaches and was responsible for delaying me working on the class: I followed the steps and I could not connect to my server.  Eventually I decided to strip everything out and start again from scratch, and I stumbled upon a log that showed one step failed.  Of course it’s a step that wasn’t obvious: had the obvious steps failed, I would have easily seen the problem.  Azure provided no alert or email to tell me that the step failed.  Fortunately the second time that I created everything went just fine.

I expect my next edX courses will be Implementing ETL with SQL Server Integration Services (SSIS) (DAT217x) and Delivering a Relational Data Warehouse (DAT216x), but not at the same time.  My SSIS skills vary between pathetic and non-existent, so I really need to learn that system.  I was pretty good at ETL with DTS, but that system no longer exists and you have to do it all in SSIS.  And while I have little interest in data warehousing, it is a skill in demand and it can’t hurt to learn it.  There are some Sharepoint classes that might be useful, and I’m hoping that some Reporting Services classes will be appearing soon.

The courses are free, you can buy a certificate upon successful completion for $49.  And you don’t have to commit to the certificate until after you finish the final, as long as you do it before the class end date, so if something happens to your real-life availability, you haven’t committed to the $50.

A couple of things: SQL 2014 SP1 CU6 re-issue and SQL 2016 auto-phones home

Let’s start with CU6.  This update for 2014 SP1 came out recently and had a bug: it could cause NOLOCK issues on your server.  Not a good thing.  That CU has been removed and this new one issued.  But they didn’t change the number: it’s still CU6.  They changed the KB article number behind the update, but they kept the same update number.  This could definitely cause some confusion.  Steve Jones, one of the founders of SQL Server Central, wrote about this on his blog, expressing an interesting opinion.  He thinks that, while the prompt and frequent release of CUs is a good thing, that the rapid release cycle could cause some problems with shops that have narrow maintenance windows.  I think that’s a good point.  I’ve been fortunate in that every shop that I’ve worked in had strictly an 8-5 operation timeframe, so I never had any problems applying patches, but I can see the issue.  Steve also posits that Microsoft might go away from Service Packs entirely and issue all bug fixes through Cumulative Updates.  I’m not sure I agree with that, but I can’t point to anything solid behind my belief, so we’ll wait and see.

Regardless of whether or not you’ve already installed CU6, you need to re-install it.

Perhaps the best way to keep track of Service Packs and Cumulative Updates for any currently supported version of SQL Server is through a web site that Brent Ozar created, SQL Server Updates.  You can subscribe and whenever a new CU or SP appears, you’ll get an email.  Pretty nifty, eh?

Speaking of Brent, a blog post today had some news that I’m not too keen on.  As we know, SQL Server 2016 launched this week.  A study of the EULA that you must agree to before installing produced a couple interesting bits of tid.  First, SQL Server, if it’s connected to the internet, auto-updates.  If a patch is available, it will download and apply it.  I am not at all keen on this as there are far too many stories over the years of an SP or CU breaking an installation.  And what happens if said patch auto-install requires a service or server restart?  Does it do it regardless of usage, or what?  I do not know, but I expect we’ll be finding out about this soon.

The second part of Brent’s post was that SQL Server 2016, by default, phones home with telemetry reports.  THIS IS BUILT-IN, AND YOU CAN’T TURN IT OFF.  Well, you can turn it off if you’re running an Enterprise edition via a registry key change.  And you can probably block said transmissions via firewall rules.  Here’s the problem: what if your network contains HIPAA information?  Or student information?  Or credit cards?  How do you know what is being sent to Microsoft and what is being done with it.  You can’t.  For that matter, it’s possible that the information is not going to Microsoft and that it’s going to a third party for aggregation and analysis.

There is a Connect item, actually created by Brent, to give DBAs the ability to turn off this automatic telemetry transmission.  As of the time of me writing this, there were two comments on the Connect page describing installations that, due to the information that they store and process, absolutely would not upgrade to 2016 until this is removed.

As it happens, I’ll be setting up a new server with 2016 Developer’s Edition in the near future, and I’ll be keeping a close eye on my firewall log and blocking ports left and right.  For that matter, that particular computer doesn’t need internet access, so I might just block it from accessing the outside world at the router level.

SQL Server Developer Edition for free? Mostly.

On March 31 Microsoft announced that SQL Server 2014 Developer Edition will now be free, though you have to be registered for their free Visual Studio Dev Essentials.  So free, but you do have to be registered for their other free stuff.  Not too bad of a deal.  They explicitly state that SQL 2016 will also be released for free when it finally hits market, presumably all future editions will likewise be free.

I didn’t mind spending $50 for a DVD of Developer Edition, I thought the price was perfectly reasonable for what you get.  Free is even better, but you need to manage your archives to preserve what you’ve downloaded.  And we’ve always had the Express edition available for limited free deployment, as long as your app could be content with 1 gig of RAM and 10 gig of database size.  And the absence of the Agent, forcing you to use the Task Scheduler to get your jobs running at scheduled times.  It was a good way to learn alternative ways of doing things.


Does anyone remember Borland’s ‘Turbo’ books?  They were really cool in the mid/late ’80s.  Get a full compiler plus a text book on how to write in that language for a pretty good price.  It’s a little silly to miss things like that with the free compilers that are available, especially if you have a Linux box running, and all of the free language tutorials that are all over the Web.  Still, I kinda miss them.

Microsoft now recommends that ALL SQL Server Cumulative Updates be installed

Formerly the language around the CUs were fairly clear: CUs addressed specific issues, and if you weren’t experiencing that issue, then you shouldn’t install that CU.

Well, that was then and this is now.

Microsoft is now saying that you should install all CUs when they become available, and says that they undergo the same testing as complete Service Packs (SPs).  So now instead of waiting for an SP, even if you weren’t having problems, you should also keep current on CUs.

One good way of keeping up with the release of both CUs and SPs is Brent Ozar’s web site, SQL Server Updates., which tells me that SQL Server 2014 is up to CU5 for SP1.  On this site you can sign up for notification emails when new updates are available.  It lists versions going back to 2005, I expect that might fall off the list in three years when 2008 begins falling out of support.  (Microsoft says that when CU6 for 2014 SP1 comes out that CU5 will no longer be available for download)

So if you’ll excuse me, I have a couple of servers to patch.

SQL Server for Linux? Coming 2017!

Very interesting.  Ars Technica reported on it yesterday, I expect more information after the SQL Server 2016 launch event which is apparently on March 10 at 10am EST.

While I don’t have much interest in SQL 2016 (which has some excellent features, but we just started running SQL 2014 and it’ll be fine for quite a while), the Linux edition intrigues me.  Formerly you only had DB2 and Oracle for major database software on non-Windows platforms, so this will be quite interesting to see it play out.  Yes, Linux already had MySQL, Maria, PostgreSQL, etc., and they are perfectly fine databases.  I’m just glad to see something that I know pretty well get on to *nix.

The actual Microsoft announcement also has a link to sign up for the SQL Linux newsletter.  What I want to know is what distros it will run on: I would expect Red Hat and Ubuntu, we shall see.  Microsoft has ODBC drivers for those two distros, plus SUSE, so those three seem the most likely candidates.  Plus there are drivers for node.js, Ruby, and Python in addition to Java ODBC libraries, so lots of approaches can be taken.  According to the newsletter signup, it’s currently available as Ubuntu and Docker images, I would expect Red Hat at launch as it’s perhaps the biggest server *nix going.