Enterprise SQL Server Administration & AlwaysOn Automation Toolkit
A comprehensive PowerShell module for SQL Server 2016+ administration, with specialized support for AlwaysOn Availability Groups, performance reporting, and security auditing.
Latest Release: v1.5.0 | Functions: 124 | Documentation: Full Reference
Automatically synchronize SQL logins from primary to secondary replicas in AlwaysOn Availability Groups:
# Create daily scheduled job (2:00 AM)
New-sqmAutoLoginSyncJob -SqlInstance "SQL01" -AvailabilityGroupName "ProdAG"
# Run sync immediately with backup
Sync-sqmLoginsToAlwaysOn -SqlInstance "SQL01" -AvailabilityGroupName "ProdAG" `
-Force -BackupLogins- -Force Mode: Update existing logins (password changes)
- SafeForceMode: Auto-exclude sa, SQL Agent Account, system logins
- -ForceIncludeOnly: Whitelist specific logins for updates
- Backup-Logins: Create rollback scripts before applying changes
- Listener SPN Checking: Get-sqmSpnReport now validates AlwaysOn listener SPNs
- UPN Support: Fixed service account handling for UPN format (user@domain.net)
- Smart AG Detection: Auto-detect primary/secondary replicas with warnings for multiple AGs
Install-Module -Name sqmSQLTool -Repository PSGallery# Clone repository
git clone https://github.com/JankeUwe/sqmSQLTool.git
# Import module
Import-Module ./sqmSQLTool/sqmSQLTool.psd1 -ForceGet-Command -Module sqmSQLTool | Measure-Object
# Output: 124 functionsSync-sqmLoginsToAlwaysOn- Automated login synchronizationNew-sqmAutoLoginSyncJob- Scheduled job creationGet-sqmDistributedAgHealth- Distributed AG statusGet-sqmSpnReport- SPN validation including listenersComplete-sqmListenerMigration- Listener migration workflow
Get-sqmWaitStatistics- SQL Server wait statisticsGet-sqmDiskSpaceReport- Disk utilization and growth trendsGet-sqmMissingIndexes- Index recommendations with CREATE statementsGet-sqmAutoGrowthReport- Database autogrowth trackingGet-sqmIndexFragmentation- Index fragmentation analysis
Copy-sqmLogins- Transfer logins with password hash preservationGet-sqmSysadminAccounts- Enumerate sysadmin accountsGet-sqmADGroupMembers- Validate AD group membershipsGet-sqmTlsStatus- SQL Server TLS/SSL configurationInvoke-sqmLoginAudit- Login activity tracking
Export-sqmServerConfiguration- Full instance configuration exportCompare-sqmServerConfiguration- Instance comparisonExport-sqmAlwaysOnConfiguration- AG configuration exportExport-sqmDatabaseDocumentation- Database schema documentation
Complete documentation with examples for all 124 functions:
- HTML Reference: https://www.powershelldba.de/sqmsqltool/sqmSQLTool-reference-full.html
- GitHub Releases: https://github.com/JankeUwe/sqmSQLTool/releases
- SQL Server: 2016 or later
- PowerShell: 5.1 or 7.x
- dbatools: Latest version (installed as dependency)
- Operating System: Windows Server 2016+
- Permissions: sysadmin on SQL Server instances
MIT License - See LICENSE file for details
Uwe Janke | Senior IT Specialist | SQL Server & PowerShell Automation
- GitHub: @JankeUwe
- Website: https://www.powershelldba.de