Skip to content

daniellindemann/sql-test-connection

Repository files navigation

SQL Test Connection

A small console tool to verify Microsoft SQL connectivity and optionally execute a query. I built it to check database access in locked-down Azure environments.

Vibe-coded with GitHub Copilot and GPT-5.2-Codex.

Features

  • Test SQL connectivity with a connection string.
  • Optional query execution with tab-separated output.
  • Optional loop mode with configurable wait time between checks.
  • Container-friendly usage for quick diagnostics.

Usage

Usage: sql-test-connection --connectionString <value> [--query <value>] [--wait <seconds>]
       sql-test-connection -c <value> [-q <value>] [-w <seconds>]

Parameters:

  • --connectionString / -c (required): The SQL connection string.
  • --query / -q (optional): SQL to execute after connecting.
  • --wait / -w (optional): Loop the test; default wait is 10 seconds. Pass a number to override.

Container Image

The tool is available as a container image: https://hub.docker.com/r/daniellindemann/sql-test-connection

Docker

docker run --rm daniellindemann/sql-test-connection \
  -c 'Server={some_server};Initial Catalog={some-db};User ID={some_user};Password={some_password};Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;'

Run a query:

docker run --rm daniellindemann/sql-test-connection \
  -c 'Server={some_server};Initial Catalog={some-db};User ID={some_user};Password={some_password};Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;' \
  -q 'SELECT 1'

Loop every 10 seconds:

docker run --rm daniellindemann/sql-test-connection \
  -c 'Server={some_server};Initial Catalog={some-db};User ID={some_user};Password={some_password};Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;' \
  -w

Kubernetes

With kubectl run:

kubectl run -it --rm --image=daniellindemann/sql-test-connection --restart=Never sql-test-connection -- \
  -c 'Server={some_server};Initial Catalog={some-db};User ID={some_user};Password={some_password};Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;'

With YAML manifest:

apiVersion: v1
kind: Pod
metadata:
  name: sql-test-connection
spec:
  containers:
  - name: sqltest
    image: daniellindemann/sql-test-connection
    imagePullPolicy: Always
    args:
    - '--connectionString'
    - 'Server={some_server};Initial Catalog={some-db};User ID={some_user};Password={some_password};Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;'
    - '--wait'

Check the logs with kubectl logs -f sql-test-connection. If an error occurred, check previous pod logs with kubectl logs -p sql-test-connection.

Build

Build the Docker image locally:

cd src/sql-test-connection.console
docker build -t daniellindemann/sql-test-connection -t daniellindemann/sql-test-connection:latest --no-cache .

Local Run

dotnet run --project src/sql-test-connection.console -- \
  -c 'Server={some_server};Initial Catalog={some-db};User ID={some_user};Password={some_password};Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;' \
  -q 'SELECT 1'

About

A small tool to the Microsoft & Azure SQL Connections

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published