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.
- 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: 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.
The tool is available as a container image: https://hub.docker.com/r/daniellindemann/sql-test-connection
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;' \
-wWith 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 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 .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'