My first book review! SQL Server 2014 with PowerShell v5 Cookbook

Has been a very busy year for me, haven’t posted lately, but was very excited to share this.

I’ve had the opportunity to be a technical reviewer for three PowerShell books this year!

One that I’ve really enjoyed reviewing has just been released, and the publisher Packt is offering an end of year sale for $5 eBook editions.

Donabel Santos (sqlbelle.com & @sqlbelle) is a wonderful blogger, author, trainer, and Microsoft MVP. This is her second PowerShell cookbook for SQL, and it’s an incredibly useful resource for learning the practical details of PowerShell, both in general and when working with SQL Server. All her examples come with code samples so you can leverage her scripts to get productive right away.

You can check out the book on the Packt website. It’s only $5 for a great PowerShell & SQL eBook, or $30 for the eBook and print version. It’s a phenomenal resource, and a great deal for DBAs looking to take the plunge into PowerShell, and DBAs familiar with PowerShell ready to expand their knowledge about all that’s possible with PowerShell in SQL.

Please let me know if you found her book useful, and have a Merry Christmas, Happy New Year, and enjoyable holiday season. :)

 

 

SQL 2016 WILL have HTML5 reports!

Very exciting news for Reporting Services users, who may have felt left out regarding all the new SQL features of late.

SQL 2016 will have a new rendering engine that will generate HTML5 reports!  You can provide feedback to Microsoft right from within SSRS development, so I imagine they will use that feedback to produce a lot of hotfixes and workarounds over the first few months after release.You can always switch back to the original rendering engine in a report if HTML5 doesn’t work out for you.

I’ll be interested to investigate how reports can be CSS-styled for functionality, for mobile presentation, and to coordinate with the  look and feel of the site in which they are presented.

More info on books online: https://msdn.microsoft.com/en-us/library/ms170438.aspx

SQL 2016 CTP2 is out, with Technet Virtual Labs ready to learn!

Microsoft just released SQL 2016 CTP 2. CTP is a customer technology preview, that lets us explore new features of the product before it’s released to marketing (RTM).

I found it in my MSDN new downloads.

Not ready to download and install it but still want to learn?

Technet Virtual Labs already has SIX virtual labs you can use to explore the new features!

SQL Server 2016 Virtual Labs!
SQL Server 2016 Virtual Labs!

Just search for SQL 2016

 

Ignite 2015 in Chicago! Keeping track of sessions in Google calendar

I’m lucky and honored to be volunteering this year with the Hand On Labs team here at Ignite 2015 in Chicago. Hope to blog about the amazing lab environment in a future post.

I’m catching as many sessions as I can, and wanted to import my Ignite schedule into Google calendar on my phone. The kind folks at Ignite provided a help document for exporting the My Ignite schedule into various calendars, but the steps for Google Calendar were not clear to me, so perhaps this will help someone else attending Ignite this year.

1.Log into your My Ignite site. Click on My Schedule.

2.Right-Click the Export Calendar link, and copy the URL.
Ignite schedule to google calendar, step 1

3.Paste it into notepad, and replace webcal with https. Copy to clipboard again.

Ignite schedule to google calendar, step 2

4. Open Google Calendar, click the triangle by ‘Other calendars’ and choose Add by URL.Paste the link there, and click Add to Calendar button.
Ignite schedule to google calendar, step 3

5. Events imported, though I’m not sure how I’ll attend 5 sessions at one time…

Ignite schedule to google calendar, step 4

Let me know if this helped you, and enjoy the conference!

Get your Public IP and Geographic Data with PowerShell

 

Always fascinated by what can be done very tersely with PowerShell.

I saw an interesting tip on PowerShell.com that gives the geopraphic info on a given public IP. They had a post I dug up a couple years back that determines your public IP dynamically, so I connected the Lego blocks… here is a script that determines your public IP and tells you where you are, using a web page and a REST API.

#Determine Public IP Dynamically
$ipaddress = (Invoke-WebRequest 'http://myip.dnsomatic.com' -UseBasicParsing).Content
$infoService = "http://freegeoip.net/xml/$ipaddress"
#Get Geographic Data based on my IP
$geoip = Invoke-RestMethod -Method Get -URI $infoService
$geoip.Response
 
#As a One-Liner
(Invoke-RestMethod -Method Get -URI "http://freegeoip.net/xml/$(Invoke-WebRequest 'http://myip.dnsomatic.com' -UseBasicParsing)").Response

 

Scripting COMPLETE Full-Text indexes after a database restore

You may find yourself working with SQL 2000 databases, or later versions of SQL that were migrated from SQL 2000, with the Full-Text indexes stored outside the SQL data files.

In this scenario, once you restore a SQL Server database, your full-text catalogs and the full-text indexes within are not restored along with your data.

Note that this is not required for Full-Text indexes created in SQL 2005 and later, when the storage for Full-Text Catalogs was changed.

Right-Clicking and choosing to script the full-text catalog will NOT create the indexes within the catalog.

I found a useful script at humakhurshid.blog.com that scripts out the full-text catalog AND indexes. EDIT: However it misses some indexes, I found a better script at the bottom of the comment thread at this blog at blog.strictly-software.com

This script at mikesdatawork.wordpress.com will rebuild the full-text catalogs for all those newly created full-text indexes. This may be a useful maintenance plan script as well.

I had full-text catalogs with names that include spaces (FT Index) so I had to modify it slightly (added these brackets: [” + sftc.name + ”] ) to work.

Of course now those indexes need to populate. Found this stackoverflow post that gives a solution for one database, here’s my query to check population status for all catalogs.

 

--Check all fulltext catalogs on server. Ok to run as a single line.
--1 means populating, 0 means idle
 
EXEC sp_MSForEachDB 'SELECT FULLTEXTCATALOGPROPERTY(cat.name,''PopulateStatus'') as [?] FROM [?].sys.fulltext_catalogs AS cat'

 

Presented on SQL 2012/2014 – What You Need to Know

Yesterday New Horizons in Fort Lauderdale asked me to present to some of their customers on SQL 2012 and and 2014, focusing in on the new features most essential to know. You can find the slides in the Presentations link above.

The presentation was only 3 hours, so I really struggled with what to cover, and I boil down the most important features to these:

  1. AlwaysOn in SQL 2012/2014
  2. Clustered ColumnStore Indexes in SQL 2014 (2012 has Non Clustered ColumnStore Indexes only)
  3. In-Memory OLTP in SQL 2014

Yes, I talked about DQS,MDS,Tabular,SSIS Project Model, T-SQL Enhancements, Azure options, and some other cool features. But the three above are, in my opinion, the most important.

Disagree with me? Let me know your opinion in a comment or by contacting me!

Helping out at TechEd 2014 in Houston

I am privileged to be a member of the fifty or so Microsoft Certified Trainers who are volunteering their time this week with the Hands On Labs here at TechEd 2014 in Houston. There are 300 general use machines plus 400 machines dedicated to Instructor Led Labs.

Look at my computer lab! :)

Hands On Labs area at TechEd 2014
Hands On Labs area at TechEd 2014 (click to enlarge)

There are over 150 different labs available at the conference, all created and hosted by HynesITe. They do this with over 70 host servers, many with half a TERABYTE of RAM, all from a single colocation facility in Tampa, Florida. The labs are made up of one to several  virtual machines that are spun up and ready for the attendees when they sit down to learn.

I asked a ton of questions, and learned that while Microsoft is their biggest client, it’s just one of many. They host around ten thousand different labs for customers all over the world.

They use Hyper-V on Windows Server 2012 R2, and I suspect they are the the largest user of Hyper-V in terms of scope and scale.

I find the process and infrastructure behind supporting so many  virtual labs fascinating, and will research the topic further. A very big thanks to the HOL team for talking with me and sharing their knowledge.