Microsoft SQL Server Requirements


Introduction


With the new code base and changes made during development, WIN911 Standard/Interactive/Advanced uses a SQL Database to house its configuration and values. With this change additional security configurations and system requirements were added. This document aims to clear up the necessary changes for your WIN911 system to run.



Hardware and Software Requirements for SQL Server 2014


https://msdn.microsoft.com/en-us/library/ms143506(v=sql.120).aspx

WIN-911 ships with Microsoft SQL 2014 Express which should be sufficient for most if not all installations of WIN-911. However, if additional performance is required, it may be necessary to upgrade to SQL Server Standard or Enterprise. You will find a matrix of features supported by all edition of SQL Server 2014 here, https://msdn.microsoft.com/en-us/library/cc645993(v=sql.120).aspx.

Other versions of SQL Server are also supported, the following versions have been tested for compatibility, Microsoft SQL Server 2008 R2 through 2012 (Express, Standard and Enterprise Editions)



WIN-911 Installation Requirements 


WIN-911 requires access to a Microsoft SQL Server instance as it is used to store configuration data. During the installation process, the WIN-911 installer will search for a local or remote SQL instance named “WIN911”. If no instances are found, the installing user shall be prompted to install a local SQL instance using SQL Server 2014 Express. If the user plans to use another instance not named “WIN911”, they should decline this option.


**The WIN911 services will need permission to read, write, alter, drop and add tables within the created SQL database. Ensure that the user you designate during the install has these permission within SQL.**



SQL Server Permissions


While installing WIN-911, the logged-on user performing the installation must have the ‘sysadmin’ role assigned on the SQL instance the installer is targeting. If a user allows the WIN-911 installer to install Microsoft SQL Server 2014 Express, the correct permissions will be applied to the instance.


For Workgroup environments the user credentials must exist on both machines with administrator rights. For example, the WIN911 machine (WIN911) and the SQL machine (SQLMCH) will both have a user with the exact same username and password, no machine prefix needed, UserOne - P@ssw0rd will be our credentials in this example.


During the Win911 install you would enter in the server name for the WIN911 server followed by the username, e.g. WIN911\UserOne. In your SQL Management Studio you would need to add permissions for SQLMCH\UserOne, ensuring that you add the SQL server name and not the WIN911 machine name.



SQL Deployment Considerations


Security

WIN-911 utilizes a web server, Internet Information Services (IIS), to host its configuration GUI so it must be installed on a Windows system running IIS. For security purposes, it is advisable to separate web and databases servers. In the event that IIS is compromised, all software running on the machine is now vulnerable. If SQL Server is installed on a separate machine, the server can only be accessed through its remote interface. If installing WIN-911 and Microsoft SQL Server on the same machine, we highly recommend the use of Firewalls to restrict access to IIS. 


**For more information, please reference Microsoft’s Security Considerations for a SQL Server Installation, https://msdn.microsoft.com/en-us/library/ms144228(v=sql.120).aspx.



Performance


Depending on the size of your WIN-911 configuration, it may be advisable to install SQL Server on a separate server. Without initial performance tuning, SQL Server is designed to run at peak performance and assumes it is the only server running. Meaning SQL Server will attempt to reserve all RAM and utilize as much CPU cycles as possible. If you must install SQL and IIS/WIN-911 on the same machine, it may be worth the effort to use CPU affinity masks for SQL and IIS to isolate the two on separate cores and configure SQL to reserve less RAM.


**For information, please reference Microsoft’s TechNet articles regarding SQL Server monitoring and Performance Tuning, https://technet.microsoft.com/en-us/library/ms189081(v=sql.120).aspx.