SQL Server: Create Login (Case Sensitive) Issue

I discovered an issue the other day when trying to add logins to a SQL Server with the collation of Latin1_General_BIN.

The T-SQL Command used was:

The error I was receiving was:
Windows NT user or group ‘DOMAIN\username’ not found. Check the name again.

However, the username was very much valid. What I then found if I changed the format to DOMAIN\Username (capital U) it began to work. However, on other servers (with same collation), it rejected the capital U and wanted a lowercase U. After doing some digging, it appears that at least with the Latin1_General_BIN collation (not sure about other collations, I would expect other case-sensitive collations would inhibit similar results) that Master remembers logins how they are created the first time for a specific server and must continue to be entered using the same case going forward. This appears to be true even if you delete the login and try to re-create it, it still wants the original case (Master appears to cache is indefinitely).

When working with logins on a Latin1_General_BIN SQL Server make sure to be consistent when typing the case for logins. If you can’t figure out what the correct case is supposed to be, it appears if you add the login with the GUI, it will auto change it to be the format that master remembers.

SQL max worker threads Problem When Using VSS To Backup Numerous Databases

In our ongoing (sort-of pilot) migration from VMware vSphere 5.5 to Microsoft Hyper-V 2012 R2, we encountered a very concerning and puzzling issue with backups. The transition had been smooth for the most part and we used the project to bring aging Windows/SQL 2008 servers up to 2012 R2 and 2014, respectively. Two of our SQL environments had moved over just fine and were being backed up successfully with Microsoft Data Protection Manager 2012 R2 for the time being (other products are being considered, including Veeam). The third of such SQL environments ran into a host of VSS errors once its data was populated and a backup attempted.

DPM 2012 R2 – Job Failed

Background (before/after):

Hypervisor: vSphere 5.5 to Hyper-V 2012 R2
Guest OS: Windows Server 2008 to 2014
Backup product: EMC Avamar 7.0.1 to MS DPM 2012 R2
Backup method: Crash-consistent image to VSS-quiesced image

We had seen an occasional VSS-related backup failure from time to time in DPM, but most were tied to available disk space for the protection group (DPM doesn’t do so well with deduplication of images, so growing has been near-continual). Retrying didn’t make a difference this time, though. We restarted VSS writers and even took downtime to restart the VM. Still the same failure.

RDS Health Monitor in F5 for Windows Server 2016

When rolling out new servers for Remote Desktop Services in Windows Server 2016, that are load balanced with F5 (Connection Broker servers specifically), I found that the Send/Receive strings used for the Health Monitors in F5 that we used for Windows Server 2012 R2 did not work in Windows Server 2016. After diving into some diagnostics logs, it looks like the response string has changed in Windows Server 2016.

Windows Sysprepped Machine Fails to Automatically Register with Azure

Beginning with Windows 10 1511, Windows based computers will attempt to automatically register with Azure Active Directory. For this to succeed some configuration is required (I won’t go into this detail, but you can find official steps here: https://docs.microsoft.com/en-us/azure/active-directory/active-directory-conditional-access-automatic-device-registration-setup).

Lync 2013 VDI Plugin on Windows Embedded 8.1

When trying to setup some new thin clients using Windows Embedded 8.1 Industry Enterprise, we ran into a problem where the Lync 2013 VDI Plugin would not work. The Lync 2013 VDI plug-in would successfully pair with the Lync 2013 Client (green check box in the lower right hand corner of the client) but the Lync client would error saying that there was no Audio Devices available.

Improving RemoteFX Performance

When deploying RemoteFX, we found several settings that had to be tweaked in order to achieve usable performance. I have found some of this information is not really talked about in the documentation.

First, it is important to set Power settings both in BIOS of the Hyper-V host, to Max Performance. It is also a good idea, to set the Power Settings in Windows to Performance as well. (Windows can control some BIOS power settings depending on how to BIOS is configured, but I still find it is better to simple set both to Max Performance in RemoteFX systems).

Secondly, do not use the Legacy NIC with the RemoteFX adapter. We found huge amounts of lag when using RemoteFX and the Legacy NIC. If you need legacy NIC for PXE, it is recommended to switch to the standard NIC once the machine is ready for production.

Hopefully these two things will help you see performance improvements in your RemoteFX VDI environments. In our case, performance was about 10x better according to graphical benchmark tests.

Room Mailboxes in Exchange 2007

When you setup a room account you create the account as a “room mailbox” in Exchange.  This is done in the Exchange Management Console (Recipient Configuration > Mailbox > New Mailbox…).

This creates a special AD account with special attributes.  These properties can be figured two ways.  First (recommended), through the Exchange Management Shell (powershell integration of Exchange).  Second is through OWA (this requires you granting yourself Full Mailbox Access to your regular account and then using the connect to mailbox feature in OWA to connect to the resource).  Once connected, in options, there is a resource setting page.

When managing with the Shell, you can use the “Set-MailboxCalendarSettings” cmdlet to manage resource mailboxes.  Here is a reference of the available parameters: http://technet.microsoft.com/en-us/library/bb124987(EXCHG.80).aspx

Here is a common example of using the command with a new resource mailbox:

Set-MailboxCalendarSettings conferenceroom100 -Automate Processing AutoAccept -DeleteSubject $False -DeleteComments $False -AllBookInPolicy $False -BookInPolicy:finance,hr

You can use the following cmdlet example to view all configured properties:

Get-MailboxCalendarSettings conferenceroom100 | fl

You can also convert existing mailboxes to room mailboxes using the following cmdlet example:

set-mailbox conferenceroom100 -Type Room

This last cmdlet example will report the current type of a mailbox, this is useful when verifying success of the above cmdlet

get-mailbox conferenceroom100 | select Name, IsResource

Once a mailbox is configured this way, you can book a resource in Exchange 2007 directly as a room.

Applies to: Exchange 2007