MS-SQL CLI is a unix command line tool for accessing and running arbitrary queries against an Microsoft SQL database.
- FreeTDS - Binary Library providing access to MSSQL and Sybase DBs.
- Install the FreeTDS Library
- Debian/Ubuntu:
sudo apt-get install freetds-dev
- Mac OSX:
brew install freetds
- Debian/Ubuntu:
- Install pymssql
- pip install git+https://github.com/pymssql/pymssql.git
- This is currently necessary due to A Bug in pymssql.
- Clone this repo locally
- Install client
python setup.py install
Configuration is handled with a single YAML configuration file, located by
default at ~/.config/mssqlcli.yml
.
Example Config:
keyring_app_name: another_app # Optional, defaults to mssqlcli
username: USE_KEYRING("global:LDAPUser")
password: USE_KEYRING("global:LDAP")
# OR
# username: my_plaintext_username
# password: my_plaintext_password
server: MY_MSSQL.example.com
# The below is optional, and should be used if
# Windows Auth will be used instead of MSSQL Auth.
windows_authentication: true
domain: MY_DOMAIN
~ [ mssqlcli --help Usage: mssqlcli [OPTIONS] COMMAND [ARGS]...
Options:
--help Show this message and exit.
Commands:
query
~ [ mssqlcli query --help
Usage: mssqlcli query [OPTIONS] QUERY
Options:
-o, --output [json|csv|pretty]
-c, --config-file PATH Config File for use with client. (default:
~/.config/pymssql.yml)
--help Show this message and exit.
The general usage model is to store your SQL queries in flat files, and access them with the CLI client. Personally, I store my queries in ~/sql_queries.
Run Query and return results as a json blob
mssqlcli query {path to query}.sql
Run query and return results in CSV format
mssqlcli query -o csv {path to query}.sql
Redirect csv to File
mssqlcli query -o csv {path to query}.sql > results.csv
Run query and return results as a nicely formatted table
mssqlcli query -o pretty {path to query}.sql