The Command Line is Back

I grew up using a command line for all of my computing. I started with a Commodore VIC-20 as a youth, moving on to Apple IIs, TRS-80s, and then OpenVMS in university classes. It wasn’t until I started doing graduate work that I started to enjoy graphics in the X Window System, though many of my windows just ran bash and korn shells on SunOS. Since that time, I’ve mostly made my living in Microsoft Windows and OSX, using graphical programs. I’ve still been quick to open a command shell at times, but not too often.

However there have been times when I’ve needed PuTTY to access remote machines, or I’ve had to struggle with some PowerShell remote commands. What would be nice is to have some of these tools on every machine. I love PowerShell available, but it’s often a pain when I encounter a new machine.

However things might be getting easier. Apparently OpenSSH may be coming to Windows. It’s not there yet, but I think this will be a nice addition to allow remote access. I can see the day when I need to access an overloaded SQL Server and can use SSH to get a remote terminal and make a DAC connection with SQLCMD quickly. Or I can access any *nix machine without having to download and install a utility.

I’ve often used command lines because the speed of getting processes to run and fail quickly is under my control, not some programmer that might not be responding to keyboard and mouse events. I love the command line cut/copy/paste in Windows 10, and I look forward to being able to make SSH connections quickly and easily for a variety of tasks, including secure version control and software development tool connections.

Steve Jones

The Voice of the DBA Podcast

Listen to the MP3 Audio ( 2.4MB) podcast or subscribe to the feed at iTunes and LibSyn.

Updating to Windows 10

I’ve been cautious about Windows upgrades. Throughout my career, I’ve alternatively been interested in, and wary of, Windows upgrades. I beta tested Windows 95, and then adopted Windows 98 as soon as I could at a company with better multi-monitor support. I avoided Windows ME entirely, and upgraded to Windows 2000 a few months after it was released. I upgraded to XP late in the beta stage, and stuck with that for a long time, eschewing Vista as a fat, slow OS. I eventually ran it on a laptop, but my experience with Vista made me glad I hadn’t upgraded my desktop.

However, with Windows 7, I adopted it on my desktop early. I loved the increased speed and slimmer feel of the OS. I was happy enough that I didn’t bother to go to Windows 8 for quite some time, really until 8.1 was released. Windows 10 has been similar. I haven’t been too worried about it, setting up a VM, but spending little time using it. The past six months have had me more concerned about stability than experimentation.

That changed last week. I was informed on both machines of my upgrade status the first week of August. I looked at the upgrade screen for a few days, being slightly worried, and finally scheduled my laptop upgrade late in the week after a trip. I was a little worried, but the machine upgraded itself overnight and other than a new welcome screen, I haven’t seen much difference.

Things went smoothly that after 4-5 days, I went ahead and upgraded my desktop as well. Again, very little difference that I’ve seen. When I hit the start menu, the whole screen doesn’t flip away, but since I tend to just type the first few characters of an app and hit enter, not much of a change. The bars underneath applications in the taskbar as nice, and certainly easier to see, but that’s a minor change. Control panel has moved, and it’s only annoying as I keep looking to the right side for the pop out menu before I realize I have a normal window already open.

All in all, the Windows 10 upgrade has been smooth for me. Some of the changes in Windows 8 are changed back (like the power down options), but overall, the OS has really faded in the background for me. That’s how I like it. The OS is a tool. Just get things done.

Your experience may vary, but so far it’s been a smooth upgrade with no issues for me.

My upgrades were on:

  • Toshiba Z30, Windows 8.1
  • Custom built W8.1 desktop, upgraded from w7 -> w8 -> w8.1


Unexpected Windows 10

This was strange. I noticed a new icon in the taskbar today. When I hovered over it, I saw this:

2015-06-10 10_59_31-

I downloaded the Windows 10 beta in a VM, but not here. However apparently some update added this. If I click on it, I see this:

2015-06-10 10_59_44-Get Windows 10

I hadn’t been reading about Windows 10 too much. Mostly I want it for the copy/paste in the command line, but apparently I need to download it to get the upgrade. I hadn’t heard this before, and I was concerned.

If I click the reserve upgrade, I see this:

2015-06-10 11_02_12-Get Windows 10

I don’t need a download now. Apparently I’ll get an automatic one when the OS goes to RTM, which is fine. I assume I can install it elsewhere, but perhaps I’m limited to this device?

It’s hard to tell. This will be an interesting process. I went through the FAQ and it appears I could upgrade later. The upgrade I reserved is for this device, so I’ll need to do this separately on my laptop.

A new process for Windows, and I’m interested to see how it works. I’ve seen a few MS people have issues with Windows 10 in demos, so I’m a little concerned about upgrading now, but I am looking forward to seeing the new OS in July or August.

Changing File Associations in Windows 8

A quick post, and a good reminder of something that can be a pain. I had to do a quick search for the solution, and wanted to write about it in the hopes it will help me remember the issue.

Opening the wrong program

I was working with some XML files. I had a list of them and double clicked one.


When I did, I got this:


Not a big deal, but slow, and what’s more, I then got to close this:


I love Plan Explorer and it’s a great tool, but not for XML files containing data unrelated to execution plans. However, I do need to update my version, which will happen shortly.

What I really want to have happen is the XML file to open in notepad. I could right click it, and I have been, but about one out of every three times I go back to look at a file, I double click it out of habit.

The solution

I need to change the file extension association. I ran a quick search and used the link referenced at the bottom. That led me to the Control Panel. I knew it was in there somewhere, but rather than hunt around, I googled.


I’ve scrolled down to the spot under Programs | Default Programs | Set Associations. I picked .xml and then to the right I clicked "change program". I chose notepad, and the next time I double clicked the file, I got it open quickly and easily.




Windows 8 Tip: Change File Associations –

Load Balanced IIS Machines

I noticed a contest this week while working on the Database Weekly newsletter. It’s the Cloud Hero contest, with the chance to win a Surface Pro 3. I could always use another device, or at least a device I could give away, so I decided to enter.

There are a few things you can do, all of which are interesting to me in terms of a direction that I, and Red Gate, want to move. I don’t know if Azure works everywhere, but we are considering moving SQLServerCentral, or perhaps parts of it, to Azure, so this was a good chance for me to try out some new Azure stuff.

I’ve messed with a few things in Azure, but mostly on the PaaS side. That interests me more, and I’ve done little with IaaS. I certainly haven’t really worked with IIS much in Azure. I decided to go through the VM setup, to create two IIS machines, load balanced on the same URL. I used this blog post with a cartoon and demo to run through the process.

It was a bit more than 10 minutes, mostly because some of the allocation stuff in Azure took time, and the responsiveness from the VM in Azure was slow. From the time I connected to the time Server Manager popped up was over two minutes for each machine. Since I was going through some of the steps sequentially, that meant it was slow to get going.

The video and the portal bring to light some of the issues of Azure. It’s a great tutorial and I was able to get the two machines load balancing IIS in 20 minutes (or less). It was surprised how quickly it went, but I also had to stop and think. The load balancing and cloud services are different now than they were when the post was written.

I’m sure that’s the case with lots of Azure content. In some sense, this means that we will have lots of issues with people trying to learn how to use Azure as they’ll find content and information that is woefully out of date, sometimes quickly. I wonder if we need to think about having some code on blogs for Azure that marks the content as potentially out of date after it’s been out for 6 months.

It’s a challenge to keep the content up to date, and luckily the changes weren’t too different in the portal.

I am glad that I was able to get to IIS machines up and load balanced, delete them, and bring them back. That makes me think I may find some use for this Azure stuff, yet. I have a few projects in mind, including rebooting my personal site. Perhaps Azure will be the place I give it a go.

Continuous Delivery for Windows?

I read a bit about the next version of Windows, which is coming in 2015 as Windows 10. I’m not sure how much I care about some of the changes coming in the OS, though having CTRL+V working in a command prompt is very welcome. However I did read this piece about the people testing the Technical Previews and was a little intrigued by one quote: “… Threshold testers … will have those features and fixes pushed automatically to them…”

Does that mean that Microsoft has re-engineered Windows to be integrated with a Continuous Delivery process? If so, then I think this is a good move. We’ve already seen SQL Server move to a pace that releases new versions every two years and bimonthly patches to fix issues. Imagine that we could get patches even more often, as bugs are fixed.

Also imagine that we could get those bugs quickly rolled back and patches pulled if there are issues.

I think that’s one of the interesting things for me. There have been patches in the past which caused, issues and were sometimes hard to remove. If new changes can be pushed out quickly, I’d hope they could be removed quickly. And with all the feedback that Microsoft gets from existing installations, I could even start to see custom patches built that are deployed to only certain configurations that are compatible with the patch.

Of course, that’s an ideal view. I suspect that we’ll still see overworked developers releasing patches that not only fix issues, but cause other problems, and at times, can’t be removed. At least we’ll probably get the patch to fix the patch, a little faster than in the past.

Steve Jones

The Voice of the DBA Podcast

Listen to the MP3 Audio ( 3.0MB) podcast or subscribe to the feed at iTunes and LibSyn.

Patching Problems

I applied the Windows 8.1 update a few weeks ago and had some issues with my machine. Windows was fine, but I lost my SQL Server service. A few other users, including some of the SQLServerCentral community also had issues and sent me ideas, but their fixes didn’t work for me. That was OK because the problems gave me a chance to use PoSh to solve a real problem. I’ll be blogging about that in the next week.

However the 8.1 update has caused lots of issues, and Microsoft is acknowledging these problems. That’s good, but the process gives me pause, and to a large extent, I think this makes more and more people suspect about all of Microsoft’s patching processes. I bet there are companies that feel even more justified in waiting for SP1 for SQL Server 2014 before upgrading, even though there is a chance that the patch itself will cause problems.

This is one reason I’ve been hesitant to remain current with Cumulative Updates (CUs). Microsoft doesn’t stand behind them, with the text on each CU page that users should only apply the patch if they are experiencing specific problems. Otherwise users are told to wait for the next Service Pack, which seem to be coming less and less often.

Any patch can cause issues, and I certainly don’t like the idea of automatic updates always being applied because if there are issues, they can become much more widespread than controlled updates. There is also the issue of vendor responsiveness. Microsoft has pushed out patches that caused issues, and while they’ve try to fix issues quickly, I don’t want to have all of my desktops, or all of my SQL Servers, down because of a bad patch.

I don’t know how we patch in a more effective manner, but I do know that I want to have some control over updates as an end user, and I also want ways to remove patches. Moving to the app model of always applying patches over patches, and never rolling back seems to be a step in the wrong direction.

PS – If you want better servicing for SQL Server, vote for final service packs for products still under support.

Steve Jones

The Voice of the DBA Podcast

Listen to the MP3 Audio ( 2.8MB) 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. Support this great duo at

Beware the Windows 8.1 Update Upgrade

I had Windows 8.0 on my laptop, and went to Win 8.1 earlier this year. Everything went well. Even this spring, when I installed the 8.1 update, things went well on my laptop. This was my test environment, as most days I work on my desktop. I decided to then update my desktop, and things went well overall, until I went to use SQL Server.

At first, I couldn’t connect to SQL Server from SSMS. No big deal, I thought the update had stopped a service. I checked Services, and was surprised to not see a SQL Server database service. I had a browser and VSS service, but nothing else.

I rebooted my machine, which didn’t help. I manually ran sqlservr.exe, and it failed with permissions issued. I tried repairing the SQL install, but that didn’t work either. More than a few people reported similar things, but nothing I found on the Internet worked. I kept getting security SPID errors, so I just uninstalled, and then reinstalled SQL Server.

I’m not sure under which accounts I had my service running, and it’s possible I used my own account, but usually I set up a SQLService account on my machines. In any case, it was a hassle and pain.

I’m not telling you to avoid the 8.1 Update, but I am warning you and noting that you might want to be sure you have good backups of your systems.

Getting RUN back in Windows 8

Recently I heard a few people that note that they were really hoping the next update for Windows 8 will bring back the “Run button”, which was available in XP and Windows 7. I guess it was in Vista, but we won’t talk about that fiasco.

I asked a question to the Intertubes and someone told me to do this:

  • Hit Windows+R
  • Pin the Run item to the taskbar.

It’s that simple, and I tested it in Windows 8. It works well. Here’s what it looks like:

Hit Windows+R, that’s the Windows key and the R button together. That gives you this:


The Run dialog appears in the lower left hand corner. For me, that’s just above the IE icon (this is Windows 8, not 8.1, no Start menu button) and the last thing I ran is in there. I removed my item, but you will see what you last ran.

Now, if you look in your taskbar, on the right side, you’ll see an icon that is the run dialog. In the image below, I’ve drawn an arrow pointing to it.


If you right click this icon, you’ll get a menu.


If you click “Pin”, then this icon will remain in the taskbar. You can click it anytime to get the Run dialog.

Virtual Lab – New Domain User

This is part of my series on building a virtual lab for use with SQL Server and Windows. You can see the entire series here: Building a Virtual Lab with Hyper-V.

After the domain was up, I needed to add users. Specifically, I didn’t want to use administrator for all actions, since that bothers me. It just seems like a poor practice. I also needed service accounts. The accounts I needed:

  • sjones
  • Broncos SQL – for this SQL Server
  • Nuggets SQL – for this SQL Server
  • Rockies SQL – for this SQL Server
  • Joe – my test SQL account, without sa rights.

I’ll probably need more, but these are good for now.

Domain Users

I used the script in this post, in a variation, at the command line. I didn’t need all the fields, so this is what I used.

New-AdUser -SamAccountName "BroncosSQL" -Name "Broncos SQL" -Enabled $true -ChangePasswordAtLogon $false -PasswordNeverExpires $true -AccountPassword (ConvertTo-SecureString "MyPassword" -AsPlainText -Force)

Note: That wasn’t the password I used. I used a complex, 12 character, upper/lower case, numbers, etc. password.

I repeated this for all the users.

Domain Groups

For the most part, I don’t need, or want, to assign extra rights for these accounts. The SQL Server setup will assign local rights, and I’ll modify if needed. However I do need to grant domain admin rights to my main account to log on and run the domain at times.

I went back to basics, with TechNet documentation. I need the Add-ADGroupMember cmdlet to add someone. However, I also need the groups. I searched, and Spiceworks shows up again. I ran this:

Get-ADGroup -filter * -properties GroupCategory | ft name,groupcategory

and got this list:


I want to add sjones to the Domain Admins group. Using the Add-ADGroupMember, I ran this:

Add-ADGroupMember "Domain Admins" sjones

And it worked. I could easily log on and administer other machines with this account.