Author: Gé Brander

How to fix scaling issues in SQL Server Management Studio on 4k or other high density displays.

Many thanks to SpaghettiDBA (Gianluca Sartori). He wrote about this on SQLServerCentral.com: http://www.sqlservercentral.com/blogs/spaghettidba/2015/10/14/ssms-in-high-dpi-displays-how-to-stop-the-madness/

Sadly enough Microsoft sees this as a non issue for us and won’t fix this issue. (https://connect.microsoft.com/SQLServer/feedback/details/764009/ssms-does-not-display-properly-in-high-dpi). Many more High DPI displays will occur in the future.

In short how to fix this in four easy steps:

1) Create [SSMSDPISCALING.reg] file as per example below
2) Create [Ssms.exe.manifest] file as per example below
3) Double-click on [SSMSDPISCALING.reg] to enter a key into the registry
4) Copy [Ssms.exe.manifest] file to “C:\Program Files (x86)\Microsoft SQL Server\120\Tools\Binn\ManagementStudio” folder
    (Replace 120 by 130, 110, 105 or 100 if using another version of SSMS than SQL 2014)

I have tested this work around with SQL Server 2014 and SQL Server 2016 Management Studio Versions on Windows 10

Reg file [SSMSDPISCALING.reg] contains:
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\SideBySide]
“PreferExternalManifest”=dword:00000001

Manifest file [Ssms.exe.manifest] contains:
<?xml version=”1.0″ encoding=”UTF-8″ standalone=”yes”?>

<assembly xmlns=”urn:schemas-microsoft-com:asm.v1″ manifestVersion=”1.0″ xmlns:asmv3=”urn:schemas-microsoft-com:asm.v3″>

<dependency>
  <dependentAssembly>
    <assemblyIdentity type=”win32″ name=”Microsoft.Windows.Common-Controls” version=”6.0.0.0″ processorArchitecture=”*” publicKeyToken=”6595b64144ccf1df” language=”*”>
    </assemblyIdentity>
  </dependentAssembly>
</dependency>

<dependency>
  <dependentAssembly>
    <assemblyIdentity type=”win32″ name=”Microsoft.VC90.CRT” version=”9.0.21022.8″ processorArchitecture=”amd64″ publicKeyToken=”1fc8b3b9a1e18e3b”>
    </assemblyIdentity>
  </dependentAssembly>
</dependency>

<trustInfo xmlns=”urn:schemas-microsoft-com:asm.v3″>
  <security>
    <requestedPrivileges>
      <requestedExecutionLevel level=”asInvoker” uiAccess=”false”/>
    </requestedPrivileges>
  </security>
</trustInfo>

<asmv3:application>
  <asmv3:windowsSettings xmlns=”
http://schemas.microsoft.com/SMI/2005/WindowsSettings”>
    <ms_windowsSettings:dpiAware xmlns:ms_windowsSettings=”
http://schemas.microsoft.com/SMI/2005/WindowsSettings”>false</ms_windowsSettings:dpiAware>
  </asmv3:windowsSettings>
</asmv3:application>

</assembly>

On the first of April the Release Candidate 2 was released of Microsofts database product SQL Server 2016. More information on the blog:

The Release Candidates are following up much faster which seems to me an indication that the RTM release won’t be far away (no guarantees of course).

Important improvements:

  • R Services setup – the setup process for R Services is much more integrated into SQL Server setup. There is no longer a need to manually download and install Microsoft R open and R Server if the SQL Server is connected to the Internet; it becomes part of the SQL Server install sequence.
  • SQL Server Management Studio (SSMS) – This release of SSMS features an update to the Visual Studio 2015 shell bringing enhancements such as the quick launch toolbar and improved theming support.
  • Mobile reports – Brand Packages will now be downloaded to the mobile report publisher from a server running RC2 and available for use in report creation.  Basic mobile report content migration between servers is now supported.

For additional information about RC 2, see SQL Server 2016 Release Notes, What’s New for SQL Server R Services and the SSMS RC 2 blog post.

Download available from MSDN (subscription needed) or Evaluation Center download (registration needed).

 

Today, the first of January 2016 my new business officially starts. For a long time I have been thinking of starting my own business and in the last three months of 2015 I decided to make the big step. The last three months were busy ones, still my day time job and preparing SQLBrander.com B.V. so I could start on this day. Already some work is planned through people I already knew and I have to do work for Conclusion FIT, my former employer. Thanks to those for helping to start my business!

Of course I will keep blogging and hopefully we meet in person someday. My blog articles will always be in English.

A very good, healthy and successful year to all of you!

The website and logo is designed by Paulien Pannekoek, the building of the website is done by Webproof and Annemiek van Bentem helped me out with the texts on the site. Thank you all 🙂

The blog post of Jay about running Windows Server 2012 R2 on an Intel NUC 54250WYKH and the problems with the on-board network card do apply to Windows Server 2016 CTP4 too.

Keith H. contacted me today (2016/02/23) about the Wireless network card on the Intel NUC 5i5 RYH. I added the steps to install the Wireless network card on the bottom.

Today I installed Windows Server 2016 CTP 4 on my Intel NUC 5i5RYH and encountered the same problem with a non-recognized network card. Intel has decided in all its wisdom to not let you install network card drivers when you are using a Microsoft Server operating system. As described in the blog post of Jay it is however possible to install the network card drivers. The method described works on most hardware with drivers that do not support a Windows Server operating system. The details will change with different hardware.

Warning!To install drivers with an edited INF file you need to trick Windows to install them. With some BCDEDIT commands this can be done. Please make sure the drivers you want to install are legitimate Intel drivers and not downloaded from some rogue site. Because you make some changes to the INF file Windows cannot verify the source of the drivers. There are some checksums for the driver files (included the INF file) and when you edit them the checksum is not valid anymore. When you use the official Intel drivers from the Intel site and you only adjust the INF file as mentioned below you are reasonably safe.

Be very careful not to install drivers from a non-trustworthy source!

Below the steps I took for the Intel NUC 5i5RYH:

  • Login to your Intel NUC 5i5RYH after you installed Windows Server 2016 CTP4
  • Run a CMD command prompt with Administrator privileges (Windows key + R and type CMD and press CTRL + SHIFT + ENTER) and run the following BCDEDIT commands.

bcdedit /set LOADOPTIONS DISABLE_INTEGRITY_CHECKS
bcdedit /set TESTSIGNING ON
bcdedit /set nointegritychecks ON

  • These commands switch the Driver Enforcement off so non verified drivers can be installed.
  • Restart the Intel NUC 5i5RYH.
  • The following part must be done on another computer because you still have no network on your NUC.
  • Download the latest driver for the Intel NUC 5i5RYH network card (link). I downloaded to [C:\Install].
  • Download WinRAR (link).
  • Expand using WinRAR the network card driver package. I unpacked to [C:\Install\LAN_Win10_64_20.4.1].
  • Look at the properties of the network card in [Computer Management], [Device Manager], [Details] and [Hardware ids]. In case of the Intel NUC 5i5RYH the string of text you need is: [VEN_8086&DEV_15A].

clip_image002

  • Using PowerShell find the INF files in the directory where you unpacked the drivers files.
    • Get-ChildItem -recurse | Select-String -pattern “VEN_8086&DEV_15A” | group path | select name
  • The result should look like this:

clip_image004

  • The INF file you need depends on the operating system you are using. [e1d65x64.inf] is for Windows 10 and Windows 2016, [e1d64x64.inf] is for Windows 8.1 and Windows 2012 R2.
  • In my case I needed the driver for Windows 2016 so browse to the directory with the [e1d65x64.inf] file.
  • Open the [e1d65x64.inf] file with notepad and change the following lines:
  • Change the following lines:

[ControlFlags]
ExcludeFromSelect = \
PCI\VEN_8086&DEV_153A,\
PCI\VEN_8086&DEV_153B

  • To: (put an [;] before the three lines after [ControlFlags])

[ControlFlags]
;ExcludeFromSelect = \
; PCI\VEN_8086&DEV_153A,\
; PCI\VEN_8086&DEV_153B

  • Next find the following lines below the [ControlFlags] section, the lines are marked blue below and copy those lines.

clip_image006

  • Next find the [Intel.NTamd64.10.1] section and paste the blue lines below the last line of this section.

clip_image008

  • The result should look like this:

clip_image010

  • Save the file and copy the C:\Install directory to an USB stick.
  • Log on to your Intel NUC 5i5RYH.
  • Copy all of the files from the USB stick to the C:\Install directory on your Intel NUC 5i5RYH.
  • Before you move on check if the message [Test Mode] is visible. If not then go back to the first step and run the BCDEDIT commands again and reboot.

clip_image012

  • Go to [Device Manager], [Properties] of the network card and choose [Update Driver…] from the [General] tab.

clip_image014

  • Next choose [Browse my computer for driver software].

clip_image016

  • Browse to the location of the edited driver files, in this case [C:\Install\LAN_Win10_64_20.4.1\PRO1000], and click [Next].

clip_image018

  • When the drivers are found and installed a warning will be displayed [Windows can’t verify the publisher of this driver software] choose [Install this driver software anyway].

clip_image020

  • After the installation of the driver software is finished the message should look like this:

clip_image022

  • Click [Close] and go back to [Device Manager] to check if the network adapter is now correctly installed.

clip_image024

  • Next run the following BDCEDIT commands:

bcdedit /set LOADOPTIONS ENABLE_INTEGRITY_CHECKS
bcdedit /set TESTSIGNING OFF
bcdedit /set nointegritychecks OFF

  • These commands switch the Driver Enforcement back on so non verified drivers cannot be installed anymore.
  • After running the BCDEDIT commands the Intel NUC 5i5RYH needs to be rebooted and now you have a functional network card.
  • To be sure check if the [Test Mode] message is removed from the desktop!

clip_image026

Good luck with installing the drivers on your Intel NUC 5i5RYH! This method will work for other hardware and drivers too. Just be careful not to install drivers from an untrustworthy source.

Steps to install the Wireless Network Card (added on 2016/02/23) thanks to Keith H.

  1. Clean install Windows Server 2016 TP4 build 10586 (downloaded from MSDN.microsoft.com)
  2. Add Wireless LAN feature; enable automatic restart
  3. Complete Wireless LAN feature installation (watching device manager correctly detects wireless LAN adapter… but I’m not able to connect to my access point)
  4. Reboot NUC
  5. Connect to access point correctly…

After these steps my WiFi card works perfectly. Good luck again!

If you need the drivers for the WiFi card they can be found here:

  1. Download the Windows 10 x64 drivers for the Intel Dual Band Wireless-AC 7265 network card