- OS: Windows 10 (1809+) or Windows Server 2019+
- RAM: 4 GB
- Disk: 500 MB free space
- .NET: .NET 8.0 Runtime (included in installer)
- SQL Server: SQL Server 2016+ (for monitoring)
- OS: Windows 11 or Windows Server 2022
- RAM: 8 GB
- Disk: 2 GB free space (for logs and cache)
- SQL Server: SQL Server 2019+
- Download the latest release from GitHub
- Extract the ZIP file to a folder (e.g.,
C:\Program Files\SQLTriage) - Run
SQLTriage.exe - Configure connection string on first launch
- Download
SQLTriage.msi - Run the installer with administrator privileges
- Follow the installation wizard
- Configure during installation or post-install
Silent Install:
msiexec /i SQLTriage.msi /quiet /qn /norestartSilent Install with Custom Path:
msiexec /i SQLTriage.msi INSTALLDIR="C:\CustomPath" /quiet /qn /norestartLocation: appsettings.json
{
"ConnectionStrings": {
"SqlServer": "Server=YOUR_SERVER;Database=SQLWATCH;Integrated Security=true;"
}
}For SQL Authentication:
{
"ConnectionStrings": {
"SqlServer": "Server=YOUR_SERVER;Database=SQLWATCH;User Id=sa;Password=YOUR_PASSWORD;"
}
}Security Best Practice: Use encrypted connection strings
{
"ConnectionStrings": {
"SqlServer": "enc:BASE64_ENCRYPTED_STRING"
}
}{
"QueryTimeoutSeconds": 60,
"MaxQueryRows": 10000,
"RefreshIntervalSeconds": 35,
"MaxCacheSizeMB": 500
}{
"Logging": {
"LogLevel": {
"Default": "Information",
"SQLTriage": "Debug"
}
}
}The application requires the SQLWATCH database on the target SQL Server.
Option A: Automatic Deployment (Recommended)
- Navigate to Database Deploy page
- Select target server
- Click Deploy SQLWATCH
- Wait for completion
Option B: Manual Deployment
- Locate
Dacpacs\SQLWATCH.dacpac - Use SQL Server Management Studio (SSMS)
- Right-click Databases → Deploy Data-tier Application
- Select
SQLWATCH.dacpac
- Navigate to Servers page
- Click + Add Connection
- Enter connection details:
- Name: Display name
- Server Names: Comma-separated list
- Authentication: Windows or SQL
- Click Test Connection
- Click Save
- Navigate to Instance Overview
- Select a server from dropdown
- Verify dashboards load data
- Check Health page for any issues
- Create a GPO for software installation
- Add
SQLTriage.msito the package - Configure installation options
- Link GPO to target OUs
- Force update:
gpupdate /force
SCCM:
- Import MSI into SCCM
- Create application deployment
- Configure detection method
- Deploy to device collections
Intune:
- Upload MSI to Intune
- Create Win32 app
- Configure requirements and detection
- Assign to groups
Option 1: Shared Configuration File
mklink "C:\Program Files\SQLTriage\appsettings.json" "\\server\share\config\appsettings.json"Option 2: Environment Variables
setx SQLHEALTH_CONNECTIONSTRING "Server=PROD;Database=SQLWATCH;Integrated Security=true;"Run the encryption utility:
SQLTriage.exe --encrypt-configRestrict access to application folder:
icacls "C:\Program Files\SQLTriage" /grant "Domain Users:(RX)" /T
icacls "C:\Program Files\SQLTriage\appsettings.json" /grant "Administrators:(F)"Enable comprehensive audit logging:
{
"AuditLogRetention": {
"Enabled": true,
"RetentionDays": 90
}
}- Use encrypted connections:
Encrypt=truein connection string - Validate SSL certificates:
TrustServerCertificate=false - Use Windows Authentication when possible
Check:
- .NET 8.0 Runtime installed
- Windows Event Log for errors
logs\app-*.logfor details
Solution:
# Repair .NET installation
dotnet-runtime-8.0.24-win-x64.exe /repairCheck:
- SQL Server accessible from client
- Firewall allows port 1433
- SQL Server Browser running (for named instances)
- Connection string syntax
Test Connection:
sqlcmd -S SERVER_NAME -E -Q "SELECT @@VERSION"Check:
- Query timeout settings
- Network latency to SQL Server
- SQLite cache size
- Memory usage
Optimize:
{
"QueryTimeoutSeconds": 120,
"MaxCacheSizeMB": 1024,
"MaxQueryRows": 5000
}Check:
- Cache size configuration
- Number of concurrent queries
- Result set sizes
Solution:
{
"MaxCacheSizeMB": 256,
"CacheEvictionHours": 12,
"MaxQueryRows": 5000
}Logs automatically rotate daily. Retention:
- Application Logs: 30 days (configurable)
- Audit Logs: 90 days (configurable)
Manual Cleanup:
forfiles /p "C:\Program Files\SQLTriage\logs" /s /m *.log /d -30 /c "cmd /c del @path"SQLite Cache:
- Automatic VACUUM every 4 hours
- Integrity check every 6 runs
- Manual: Navigate to Settings → Maintenance
SQLWATCH Database:
- Built-in retention policies
- Default: 30 days for metrics
- Configure in SQLWATCH settings
Check for Updates:
- Navigate to About page
- Click Check for Updates
- Download and install if available
Manual Update:
- Backup
appsettings.jsonanddashboard-config.json - Stop application
- Extract new version over existing
- Restore configuration files
- Start application
Configuration:
xcopy "C:\Program Files\SQLTriage\*.json" "\\backup\sqlhealth\config\" /YAudit Logs:
xcopy "C:\Program Files\SQLTriage\audit-logs\*" "\\backup\sqlhealth\audit\" /S /YSQLite Cache:
copy "C:\Program Files\SQLTriage\SQLTriage.db" "\\backup\sqlhealth\cache\"Restore Configuration:
xcopy "\\backup\sqlhealth\config\*.json" "C:\Program Files\SQLTriage\" /YRestore Audit Logs:
xcopy "\\backup\sqlhealth\audit\*" "C:\Program Files\SQLTriage\audit-logs\" /S /YGUI:
- Control Panel → Programs and Features
- Select "SQLTriage"
- Click Uninstall
Silent:
msiexec /x {PRODUCT_CODE} /quiet /qn /norestart- Stop application
- Delete installation folder
- Remove shortcuts (if any)
- Clean registry (optional)
Clean Uninstall:
rd /s /q "C:\Program Files\SQLTriage"
rd /s /q "%APPDATA%\SQLTriage"- README — project overview and quick start
- Changelog — version history
- Contributing — how to contribute
- Application:
logs\app-YYYY-MM-DD.log - Audit:
audit-logs\audit-YYYY-MM-DD.jsonl
- GitHub Issues: https://github.com/SQLAdrian/SQLTriage/issues
Inbound (if hosting web interface):
netsh advfirewall firewall add rule name="SQLTriage" dir=in action=allow protocol=TCP localport=5000Outbound (SQL Server):
netsh advfirewall firewall add rule name="SQL Server" dir=out action=allow protocol=TCP remoteport=1433Installation Path:
HKEY_LOCAL_MACHINE\SOFTWARE\SQLTriage
User Settings:
HKEY_CURRENT_USER\SOFTWARE\SQLTriage
| Item | Location |
|---|---|
| Executable | C:\Program Files\SQLTriage\SQLTriage.exe |
| Configuration | C:\Program Files\SQLTriage\appsettings.json |
| Dashboard Config | C:\Program Files\SQLTriage\dashboard-config.json |
| Logs | C:\Program Files\SQLTriage\logs\ |
| Audit Logs | C:\Program Files\SQLTriage\audit-logs\ |
| Cache | C:\Program Files\SQLTriage\SQLTriage.db |
| User Settings | C:\Program Files\SQLTriage\user-settings.json |
Document Version: 1.0 Last Updated: 2026-03-23 Applies To: SQLTriage v0.79.0+