#!/usr/bin/env bash set -Eeuo pipefail CONTAINER_NAME="atlas-sql-server" SQLCMD_PATH="/opt/mssql-tools18/bin/sqlcmd" usage() { cat <<'USAGE' Usage: scripts/sql/sqlcmd.sh [sqlcmd arguments] Runs sqlcmd inside the Atlas SQL Server container without embedding the SQL administrator password in the repository or command line. Examples: scripts/sql/sqlcmd.sh -Q "SELECT @@VERSION;" scripts/sql/sqlcmd.sh -d master -Q "SELECT name FROM sys.databases;" USAGE } if [[ "${1:-}" == "--help" ]]; then usage exit 0 fi if ! command -v docker >/dev/null 2>&1; then echo "ERROR: docker command not found" >&2 exit 3 fi exec sudo -n docker exec -i "$CONTAINER_NAME" /bin/bash -lc \ 'SQLCMDPASSWORD="$MSSQL_SA_PASSWORD" exec /opt/mssql-tools18/bin/sqlcmd -S localhost -U sa -C "$@"' \ sqlcmd "$@"