Getting SQL Server 2012 BPA working on Windows Server 2012 R2

I’ve been building out some new servers with Windows Server 2012 R2 to start working on a new Microsoft SQL Server Reference Architecture on Pure Storage and after installing SQL Server 2012 and migrating the databases over to a Pure volume I figured I would run the SQL Server 2012 Best Practices Analyzer to get a report. The system requirements listed on the Microsoft download page indicates that the supported operating systems listed do not include Windows Server 2012 or 2012 R2. I wanted to share how to get this to work on Windows Server 2012 R2 because it required some manual intervention.

Step-by-step instructions:

  1. Install the Microsoft Baseline Configuration Analyzer v2 (BCA) – This will install to C:\Program Files\Microsoft Baseline Configuration Analyzer 2\.
  2. Install the Microsoft SQL Server 2012 Best Practices Analyzer (SQL BPA)– This will install to C:\Windows\System32\BestPractices\v1.0\Models\SQL2012BPA\.
  3. Navigate to the directory C:\Windows\System32\BestPractices\v1.0\Models and right-click the SQL2012BPA folder and make a copy.
  4. Navigate to C:\ProgramData\Microsoft\Microsoft Baseline Configuration Analyzer 2\Models\ and paste the SQL2012BPA folder in this new location.
  5. Start the BCA with Run As Administrator and you will now see the SQL Server 2012 BPA listed in the “Select a product” dropdown.

[UPDATE, February 24, 2014]
Below are a few screenshots of an actual report that I produced from a Windows Server 2012 R2 and SQL Server 2012 instance. In my example the SQL_Server_Instance_Name = PURE1 and then I selected Analyze_SQL_Server_Engine and Analyze_SQL_Server_Setup.


  1. I followed these steps succesfully and have SQL Server BPA 2012 available to be run in my Microsoft Baseline Configuration Analyzer, however once run an empty report is returned. I am not convinced this workaround produces a working SQL BPA. Others are getting a useful BPA report against SQL here?

    • Hi Chris –

      Sorry for the delay but I did test this out and can produce a Microsoft SQL Server 2012 BPA 1.0 report. I’ve attached two screenshots showing the results I get while running the Microsoft Baseline Configuration Analyzer 2.0 on Windows Server 2012 R2 and SQL Server 2012. I have updated the article to show and example of the report.


  2. It worked great for me. Thank you. Maybe you could put a note in that the C:\ProgramData folder is hidden and the View settings need to be changed first.
    Regardless, thank you for providing these steps.

  3. Same here. Blank report apart from “This is Windows 8 Operating System. Scan was initiated form Windows 8 Machine”

    Running direct on a W2012R2 server with SQL2012R2. And it really does say ‘form’ instead of ‘from’!

  4. I would add that you also need to install the feature “Windows Powershell –> Windows Powershell 2.0 Engine” from the server manager in order to make this work. If not, the installation will generate the error “Microsoft Baseline Configuration Analyzer 2.0 requires PowerShell 2.0 to be pre-installed on the system.” and the install will fail.

  5. …one more addition :)…

    You must also run this on a server that does not force any PowerShell execution policy. This is critical in my experience – if Group Policy is used in any way to set the execution policy on the computer’s powershell, you will have empty drop-downs when you try to select a product inside the Baseline Configuration Analyzer. Accomplish this however you like (I do it with GP overrides that simply leave a “not configured” on the GPO “

Add Comment

Required fields are marked *. Your email address will not be published.

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

This site uses Akismet to reduce spam. Learn how your comment data is processed.