sqmSQLTool v1.4

Integration
& External Systems

Splunk, TSM, SSIS, ODBC/JDBC/DB2 - set up and verify all of it automatically

11
integration functions
3
external systems
3
driver types
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

FunctionSystemDescriptionRemote
Invoke-sqmSplunkConfigurationSplunkConfigure the Splunk forwarderYes
Invoke-sqmTsmConfigurationTSMConfigure the TSM clientYes
Get-sqmTsmConfigurationTSMRead the current TSM configurationYes
Test-sqmTsmConnectionTSMCheck connection + last backupYes
Invoke-sqmSsisConfigurationSSISSet up the SSIS catalog and deploymentYes
Install-sqmOdbcDriverODBCInstall the Microsoft ODBC DriverYes
Uninstall-sqmOdbcDriverODBCRemove an old ODBC driverYes
Install-sqmJdbcDriverJDBCInstall the Microsoft JDBC DriverYes
Uninstall-sqmJdbcDriverJDBCRemove the JDBC driverYes
Install-sqmDb2DriverDB2Install the IBM DB2 Data Server DriverYes
Get-sqmLinkedServerUsageAnalysisLinked server usage statisticsYes
Summary

Define integrations once - roll out everywhere

11
integration functions
3
external systems
3
driver types
✓ 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
GitHub: JankeUwe/sqmSQLTool