As stated in SQLOpDB Architecture, there are three components to configure, collect data, and do reporting.
The requirements are briefly discussed on the GitHub page.
- A single virtual or a physical server, with minimum 4 processors and 8 GB of RAM.
- Microsoft SQL Server 2019 (any version will work — however all development and testing is against 2019).
- Microsoft SQL Server 2019 Report Server or Microsoft Power BI Report Server.
- Microsoft Visual Studio 2019 with Reporting Services Extension.
- Accessed via Pass-Through Athentication
- Remote PowerShell enabled across all target servers.
- SQLServer PowerShell Module
- Service Account for Data Collection (recommend using Group Managed Service Account gMSA)
- This same account will be used by all three tasks for data collection and configuration health monitoring.
- Permissions on the Collection Server / SQL Instance
- Service Account must have db_owner on the SQLOpDB database
- Service Account must have db_datareader on the msdb database.
- Run as a Batch Group Policy
- Local Administrator
- Used to execute task jobs with highest level permssions.
- Permissions on the Target Servers / SQL Instances
- Local Administrator
- Used for WMI Calls for Processor, System Configuration, Memory, Page Files and Volume Information.
- Sysadmin
- Local Administrator
Supported Versions of SQL Server and Windows
- SQL Server 2005+
- Windows Server 2012+
Storage Requirements
- I have tried to design the solution to be as light as possible. However, over the years various elements have been added to increase the storage footprint.
- Most expensive components for storage
- SQL Server Error Logs
- Policy Evaluation XML Data
- The database can grow to 150GB+ with all the policy evaluation data for about 300 SQL Instances.