Fixing Hotkeys in SQL 2012

A colleague was working in SQL Management Studio as usual today when he tried to hide the results pane using Ctrl + R. It didn’t work though. He hit it a few more times. Nothing. Finally, in frustration, he asked if anyone knew what was going on. I had encountered this exact problem awhile back and had to look up a fix, so I rolled over to help. It took a few moments, but after pulling up the menu, I was able to direct him to the proper place to revert the settings. (and not create a custom hotkey like I did when this happened to me originally)

Starting with SQL Server 2012, Microsoft decided to simplify their hotkeys to follow the style of Visual Studio. The problem is, for us SQL folks, we don’t know those hotkeys. More importantly, most of us are stuck in our ways with no desire to change something that works. Just take a look at the new hotkey. It’s ridiculous.

WindowsHideResults

2 keys or 4, your choice

 

Microsoft, in their finite wisdom, realized that some people might not like this change, and kept a simple interface option to revert back to original hot keys. You can find the fix under the Tools menu -> Options.

ToolsOptions

From there, expand Environment, then select Keyboard. At the top of the dialog box you will see a drop down about keyboard mapping scheme. Select Default or hit Reset. Then press OK and you should be good to go.

ToolsOptionsKeyboard

I always get lost in the options, so I blog so I don’t have to remember

 

Now when you press Ctrl + R, it should once again Show/Hide the Results pane. The default hotkey option will change some others as well, probably most notably Execute goes from Ctrl + Shift + E back to F5 and Execution Plan hot keys get simplified. Sadly, if you use multiple computers to run SSMS, you’ll have to make this adjustment on each of them.

Windows Server 2012 Training Summary

Last week I attended a four-day training session titled Windows Server 2012 R2 Capabilities, Administration and Support. The class consisted of nine modules with nine labs. While this class was primarily directed at Windows Administrators to provide a general overview of the operating system, it did provide a few great snippets of information, but also a few terrible ones. I’ll try to keep this as brief and yet informative as possible…I’m sorry about the wall of text.

Day 1

The first day was an overview of new and exciting features in Server 2012 followed by an introduction to PowerShell administration.

This is the most important day of class for someone new to Server 2012. The first half of the day introduced the new layout of Server 2012. It’s the same design as Windows 8, so it is very daunting to the average person who hates 8. The instructor spent awhile explaining how to avoid the start screen and how to find programs and pin them to the desktop or taskbar.

A lot of time was spent looking at the new Server Manager. I want to use Server 2012 exclusively just for that dashboard. It’s that awesome. Besides looking cool, most important configurations are right there; no need to hunt all over the system.

ServerManager

Remote administration is great in Sever 2012. Now you can create Server Groups and add servers to those groups using Server Manager. You don’t have to log into every box or use complex PowerShell statements. It’s a bit like having a Central Management Server in SQL Server. I don’t know all the limitations yet, but I plan to explore soon.

Interesting note: If you promote a server to a Domain Controller using the GUI, everything works normally. If you promote via PowerShell, Server Manager will forever have a task assigned asking you to promote to a DC. Supposedly this is fixed for Windows 10, but it is a low priority fix never going to happen in Server 2012.

The PowerShell module was little more than an introduction on how to open PowerShell and use Get-Help. Throughout the rest of the class, scripts were provided to complete tasks as an alternative to the GUI, but learning PowerShell takes more than one or two rushed hours. I pitied anyone there who had never touched PowerShell; I’m sure all it did was reinforce their idea that PowerShell is too complicated to learn.

My one piece of advice is that you triple check that you are on the correct machine before you run a PowerShell script! To my own embarrassment, I admit that I had to troubleshoot and repair configurations more than once because I wasn’t paying attention to which Virtual Machine I was playing on.

Day 2

The next two days were mostly a blur of features that I will probably never touch again, except perhaps in lab scenarios. I’ll briefly mention a few things.

One module consisted of Hyper V setup and administration. All the virtual machines used Hyper V, and the class started feeling like a marketing ploy to convert your existing environment to Hyper V. The feature looks nice; I just wish my home processor supported SLAT so I could run it. I’ll stick with Virtual Box till I upgrade hardware.

Also mentioned today were ISCSI Storage, Data Deduplication – this sounds useful for reducing storage sizes, Work Folders, Dynamic Access Control, and Offload Data Transfer. The instructor skipped a section on DAC Management.

Labs consisted of joining to a domain, setting up a SCSI disk, preparing virtual machines for SAN storage using Storage Roles, creating an ISCSI target, and connecting to the ISCSI target. There was mention that two of the virtual machines will be clustered later in the week. Cool!

If you are interested in working with Server Core, but are afraid to make the jump, you can install the GUI, configure the server, and then uninstall the GUI. Optionally you can leave Server Manager available or go straight to the minimal core setup and just do your administration remotely. Sounds pretty cool, and I plan to play with this feature in home labs too.

Day 3

Active Directory & Networking were the topics for the third day of class. Another day of topics that were mostly over my head and that I would not have access to in my regular role.

A few notes:

  • No support for Domain controllers in a live environment for virtualization.
  • Prior to 2012, restarting or restoring a DC could cause failure when the RID pool would issue RIDs below the pool amount from the rest of the DCs. Server 2012 now validates the pool before issuing RIDs.
  • Recycle Bin must be enabled for recoverable objects in AD
  • New or upgraded features: DHCP Failover, Policy based admin, PowerShell DHCP module, DHCP integration with DNS
  • IPAM: new feature that doesn’t work that well. It works till it breaks, then you are doomed. Manages IP addresses, domain names, and device identities (instead of using something like Excel)
  • DCPromo is deprecated, but still available through PowerShell. Evidently the Microsoft instructor still prefers using deprecated features. Curious.
  • In 2012, you can restore an AD user using “Restore To” to eliminate the issue of having to restore the entire structure of an old user, this will let you put them anywhere without issue.

Now for the crazy scenario of Day 3…

While setting up new accounts using Active Directory Administrative Center, the instructor was apparently showing user passwords in clear text. Someone pointed this out, and the instructor began a VERY long discussion on why this is not a security issue. He argued that administrators should be able to see any account’s password if they created it. After pressing that this is a major security hole, he spoke with an AD Admin he knew. Finally he realized that the field in question was actually the user account field, he was incorrectly typing the password there. Crisis averted…but the fallout remains.

WHY would a Microsoft employee defend the idea that clear text passwords are not a security flaw? This still is very concerning to me. In this hypothetical situation, I don’t care if you audit logins; if the admins steal user passwords, that they can plainly see, it would be tracked, sure, but we know people share passwords with other accounts even if it’s a horrible security practice. Why would you make it so easy for an admin to possibly gain access to someone’s email, utility logins, or bank accounts? I could write a whole, very long blog about this, so I will move on.

Rushing to finish early on Friday, we covered three modules on Thursday, the last one being Failover Clustering. I had been waiting all week for this one! Too bad it was marred by marketing lies.

First, the cool aspects. We got to build a failover cluster using virtual machines. However, it went perfectly, so obviously this was not a real world scenario! Nothing much to report about the cluster creation, but if you have made few or no clusters, this part of the class is fun.

A few “new” features:

New in Server 2012! One node clusters! Yet in 2005…

New in Server 2012! Split Brain scenarios gone! Quorums have been around for a while.

Day 4

The last day was a blur of 80 slides smashed into about an hour, and then a lab that was demoed to us with the hopes that we would work along with the instructor. Lots of rush to get us out the door on the last day. Not much I can say about the day, because I did not have a lot of time to write notes or process the information.

Remote Desktop Services was the topic of the day. This can be installed via Server Manager, and then administered from the same spot. Weird caveat here is that everything grayed out is installed, while anything highlighted in green has not been deployed. The appearance is a bit misleading.

Summary

Major issues throughout the class were out-of-date lab documentation, duplicate labs, typos, and generally bad directions. For instance, the written instructions directed us to use the laptop has a host machine, but in reality we should have used one of the virtual machines. Another time, an earlier lab invalidated the directions for a later lab. We had to undo our earlier work (once the instructor realized the error) so that the later lab could be completed. The three huge hard copy manuals were even further out of date than the electronic copies. They were nothing more than a massive waste of paper.

The first day of the class is great for someone who is scared to work with Server 2012. It should dispel the fears of a new layout and excite you for all the new features at your fingertips. Beyond that, the benefit of the class is limited to those who would be dealing with every feature on a day-to-day basis. While I appreciate knowing a bit more of server administration, I feel that reading a few articles and then working in a 2012 virtual environment for a few hours would have been just as effective, if not more so.

Windows Server 2012 Training

This week is exciting because instead of an average work week, I will be attending some free Windows Server 2012 training provided by my employer. I love free training; I wouldn’t care if it was in fletching or how to make home-made soap (actually those sound neat). Something actually related to my career though? That’s awesome training! I’ve never used Server 2012 outside of a lab environment, and even then I’ve only touched it a few times in Virtual Machines since no one seems fast to move to it around here. I’m looking forward to checking it out seriously and uncovering all its mysteries.

I think that I have a slight advantage over some of the people who will be in the training, because I actually have Windows 8 on all my home computers. Obviously a lot of people have been slow to adopt the unfamiliar operating system and Server 2012 follows the same style as Windows 8. I’m one of the many with hopes for Windows 10 improvements (obviously so amazing it required a whole number skipped) but I also have realistic expectations of mediocrity for that.

Although, on second thought about my advantage, I also modified Windows 8 to avoid the Metro/Start screen and always boot to desktop. I then installed Classic Shell to get the start menu back. Maybe I’m not so savvy with the new OS after all. I did try to use Windows 8 without any modifications for a few months, hoping that 8.1 would have enough corrections to keep me happy. I caved after too many minutes spent in frustration trying to track down various programs and administrative settings. The second time I had to resort to the Run command to adjust a setting, I was done.

I know Server 2012 improved clustering considerably, and that’s what I’m hoping to demo the most while in the training class. I’ve been using Availability Clusters with Server 2008 and I know that’s probably causing issues that could be fixed with an upgrade. I can only hope that this ~30 hour class will cover clustering in detail.

On the other hand, I’m most concerned that the title of the training is “Capabilities, Administration and Support.” Learning how to troubleshoot the OS is great, but I don’t want to be stuck learning how to provide support for it to others. Since I don’t really know what I’m getting into today, I’m more than a little afraid too much time will be spent on that.

I plan to take extensive notes on the training so that I can report the highlights and disappointments, which I will then report next week.