sqmSQLTool v1.4
Integration
& External Systems
Splunk, TSM, SSIS, ODBC/JDBC/DB2 - set up and verify all of it automatically
SQL Server
→
Splunk
|
TSM
|
SSIS
|
ODBC / JDBC / DB2
Problem
Integration is manual work - error-prone and slow
Splunk agent misconfigured
Index, port, or hostname differs between servers
TSM backup not connected
Wrong node name, expired password - no backup for weeks
ODBC driver out of date
An old version sits next to the current one - which one is actually used?
SSIS configuration undocumented
Deployment target, packages, and connections unknown
JDBC classpath missing
Java applications can't find the driver after an update
No standardized rollout
Every server configured individually - inconsistent state
sqmSQLTool configures, verifies, and documents every integration the same way, repeatably
Overview
11 functions in 4 categories
📰 Splunk SIEM
- Invoke-sqmSplunkConfiguration
- Configures the Splunk forwarder on SQL servers
💾 TSM backup
- Invoke-sqmTsmConfiguration
- Get-sqmTsmConfiguration
- Test-sqmTsmConnection
📄 SSIS
- Invoke-sqmSsisConfiguration
🔌 Drivers (6x)
- Install-sqmOdbcDriver / Uninstall
- Install-sqmJdbcDriver / Uninstall
- Install-sqmDb2Driver / Uninstall
SIEM
Invoke-sqmSplunkConfiguration
# Configure locally (Set mode)
Invoke-sqmSplunkConfiguration
# Check only (Test mode)
Invoke-sqmSplunkConfiguration -Mode Test
# Remote via AD OU
Invoke-sqmSplunkConfiguration -Remote \`
-SearchOU "OU=SQLServer,DC=corp,DC=de"
# Explicit server list
Invoke-sqmSplunkConfiguration \`
-ComputerList "SRV-SQL01","SRV-SQL02"
Splunk Configuration Check - SRV-SQL01
ForwarderPath : found
SplunkdIndex : sql_events
SplunkdHost : splunk-hf.corp.de:9997
ServiceStatus : Running
Result : OK - configured
✓ Reads configuration from settings.ini
✓ Starts the Splunk service if it's stopped
Backup
TSM / IBM Spectrum Protect
# Configure TSM
Invoke-sqmTsmConfiguration -ComputerName "SRV-SQL01"
# Read the configuration
Get-sqmTsmConfiguration -ComputerName "SRV-SQL01"
# Check the connection
Test-sqmTsmConnection -ComputerName "SRV-SQL01"
TSM Connection Test
Node : SRV-SQL01_MSSQL
TSM server: tsm-srv.corp.de
Port : 1500
Password : valid (45 days left)
Last backup: 2026-05-27 22:15
Status : CONNECTED
Test-sqmTsmConnection also checks password expiry and the last backup date
SSIS
Invoke-sqmSsisConfiguration
# Configure SSIS on an instance
Invoke-sqmSsisConfiguration -ComputerName "SRV-SQL01"
# With a deployment path
Invoke-sqmSsisConfiguration -ComputerName "SRV-SQL01" \`
-DeploymentPath "/SSISDB/Projects"
# Check only
Invoke-sqmSsisConfiguration -ComputerName "SRV-SQL01" \`
-Mode Test
What gets configured?
- Enable Integration Services
- Create the SSISDB catalog if it doesn't exist
- Configure the deployment target
- Set permissions (SSIS admins)
- Store connection manager templates
All settings from settings.ini - define once, repeat as often as you like
Drivers
Managing the ODBC driver
# Install ODBC Driver 18
Install-sqmOdbcDriver -ComputerName "SRV-SQL01"
# WhatIf - show the version comparison
Install-sqmOdbcDriver -ComputerName "SRV-SQL01" -WhatIf
# Remove the old version
Uninstall-sqmOdbcDriver -ComputerName "SRV-SQL01"
ODBC Driver Check
Installed : ODBC Driver 17
Version (inst.) : 17.10.2.1
Version (source): 18.3.2.1
Status : UPDATE available
Version comparison: an update dialog appears if the installed version is older
✓ WhatIf shows what would happen, with no changes made
Drivers
JDBC & DB2 drivers
Install-sqmJdbcDriver
Install-sqmJdbcDriver -ComputerName "SRV-SQL01"
Uninstall-sqmJdbcDriver -ComputerName "SRV-SQL01"
- Copies the .jar to %ProgramFiles%\Microsoft JDBC Driver
- Sets the CLASSPATH environment variable system-wide
- Version comparison via filename regex
Install-sqmDb2Driver
Install-sqmDb2Driver -ComputerName "SRV-SQL01"
Uninstall-sqmDb2Driver -ComputerName "SRV-SQL01"
- IBM Data Server Driver via MSI
- Checks the registry for an existing install
- Silent install/uninstall (/quiet /norestart)
All three drivers: version comparison, update dialog, WhatIf mode - never overwrite blindly
Analysis
Linked servers & cluster topology
Get-sqmLinkedServerUsage
Get-sqmLinkedServerUsage -ComputerName "SRV-SQL01"
LinkedServer : SAP-SID
Provider : MSDASQL
DataSource : sap-erp.corp.de
LastUsed : 2026-05-26
UsageCount : 847
Get-sqmClusterInfo
Get-sqmClusterInfo -ComputerName "SRV-SQL01"
ClusterName : SQL-CLUSTER-01
Nodes : SRV-SQL01, SRV-SQL02
ActiveNode : SRV-SQL01
SharedDisks : Q:, R:, S:
QuorumType : NodeMajority
Scale
Fleet-wide integration rollout
$ou = "OU=SQLServer,DC=corp,DC=de"
# 1. Configure Splunk
Invoke-sqmSplunkConfiguration -Remote -SearchOU $ou
# 2. Update ODBC
Install-sqmOdbcDriver -Remote -SearchOU $ou
# 3. Check TSM connections - export any problems
Test-sqmTsmConnection -Remote -SearchOU $ou |
Where-Object { $_.Status -ne "CONNECTED" } |
Export-Csv "tsm-issues.csv"
🔄 Parallel
Every configuration runs in parallel - 100 servers in under 10 minutes
📋 Documented
Every change is logged - a full audit trail
♻ Idempotent
Every function can be re-run as often as you like - same configuration, no duplicate actions
Reference
Quick reference
| Function | System | Description | Remote |
| Invoke-sqmSplunkConfiguration | Splunk | Configure the Splunk forwarder | Yes |
| Invoke-sqmTsmConfiguration | TSM | Configure the TSM client | Yes |
| Get-sqmTsmConfiguration | TSM | Read the current TSM configuration | Yes |
| Test-sqmTsmConnection | TSM | Check connection + last backup | Yes |
| Invoke-sqmSsisConfiguration | SSIS | Set up the SSIS catalog and deployment | Yes |
| Install-sqmOdbcDriver | ODBC | Install the Microsoft ODBC Driver | Yes |
| Uninstall-sqmOdbcDriver | ODBC | Remove an old ODBC driver | Yes |
| Install-sqmJdbcDriver | JDBC | Install the Microsoft JDBC Driver | Yes |
| Uninstall-sqmJdbcDriver | JDBC | Remove the JDBC driver | Yes |
| Install-sqmDb2Driver | DB2 | Install the IBM DB2 Data Server Driver | Yes |
| Get-sqmLinkedServerUsage | Analysis | Linked server usage statistics | Yes |
Summary
Define integrations once - roll out everywhere
✓ Splunk forwarder consistent across every SQL Server
✓ Monitor TSM backup connections
✓ Set up the SSIS catalog automatically
✓ Keep driver versions current fleet-wide
✓ Version comparison prevents blind overwrites
✓ Document linked servers and cluster topology