SQL Server
Connect & Ingest data from / to a SQL Server database
Last updated
Connect & Ingest data from / to a SQL Server database
Last updated
The following credentials keys are accepted:
host
(required) -> The hostname / ip of the instance
user
(required) -> The username to access the instance
database
(required) -> The database name of the instance
instance
(optional) -> The SQL Server instance to use
schema
(optional) -> The default schema to use
password
(optional) -> The password to access the instance
port
(optional) -> The port of the instance. Default is 1433
.
authenticator
(optional) -> Can be used to specify use of a registered authentication provider. (e.g. ntlm
, winsspi
(on windows) or krb5
(on linux))
ssh_tunnel
(optional) -> The URL of the SSH server you would like to use as a tunnel (example ssh://user:password@db.host:22
)
ssh_private_key
(optional) -> The private key to use to access a SSH server (raw string or path to file).
ssh_passphrase
(optional) -> The passphrase to use to access a SSH server.
Sling uses the go-mssqldb
library and thus will accept any paremters listed . Some parameters that may be of interest:
encrypt
-> strict
, disable
, false
or true
- whether data between client and server is encrypted.
log
-> logging level (accepts 1
, 2
, 4
, 8
, 16
, 32
).
trusted_connection
-> true
or false
- whether to connects to SQL Server with a trusted connection using integrated security (also will use the -T
flag when using bulk loading with bcp
)
trust_server_certificate
-> true
or false
- whether the server certificate is checked
certificate
-> The file that contains the public key certificate of the CA that signed the SQL Server certificate. The specified certificate overrides the go platform specific CA certificates.
hostname_in_certificate
-> Specifies the Common Name (CN) in the server certificate. Default value is the server host.
server_spn
(v1.2.3) -> The kerberos SPN (Service Principal Name) for the server. Default is MSSQLSvc/host:port.
bcp_auth_string
-> A way to override the way bcp
. Accepts an array of strings, for example ['U', 'username', '-T', '-G']
will append flags -U username -T -G
to the bcp
command.
bcp_extra_args
(v1.2.23) -> A way to add additional args to the bcp
command. Accepts an array of strings, for example ['b', '5000']
will append flags -b 5000
to the bcp
command.
bcp_path
(v1.3.0)-> The path to the bcp
binary. This is useful if you need to specify a custom path for bcp
.
Since v1.2.3
authenticator
- set this to krb5
to enable kerberos authentication. If this is not present, the default provider would be ntlm
for unix and winsspi
for windows.
krb5_config_file
(optional) - path to kerberos configuration file. Defaults to /etc/krb5.conf
. Can also be set using KRB5_CONFIG
environment variable.
krb5_realm
(required with keytab and raw credentials) - Domain name for kerberos authentication. Omit this parameter if the realm is part of the user name like username@REALM
.
krb5_keytab_file
- path to Keytab file. Can also be set using environment variable KRB5_KTNAME
. If no parameter or environment variable is set, the DefaultClientKeytabName
value from the krb5 config file is used.
krb5_cred_cache_file
- path to Credential cache. Can also be set using environment variable KRBCCNAME
.
krb5_dns_lookup_kdc
- Optional parameter in all contexts. Set to lookup KDCs in DNS. Boolean. Default is true.
krb5_udp_preference_limit
- Optional parameter in all contexts. 1 means to always use tcp. MIT krb5 has a default value of 1465, and it prevents user setting more than 32700. Integer. Default is 1.
Keytabs - Specify the username, keytab file, the krb5.conf file, and realm.
Credential Cache - Specify the krb5.conf file path and credential cache file path.
Raw credentials - Specity krb5.confg, Username, Password and Realm.
sling conns
Here are examples of setting a connection named MSSQL
. We must provide the type=sqlserver
property:
Sling supports authentication via 3 methods. See for more details.
See to learn more about the sling env.yaml
file.
If you are facing issues connecting, please reach out to us at , on or open a Github Issue .