SQL Server
Connect & Ingest data from / to a SQL Server database
Setup
The following credentials keys are accepted:
host(required) -> The hostname / ip of the instanceuser(optional) -> The username to access the instancedatabase(optional) -> The database name of the instanceinstance(optional) -> The SQL Server instance to useschema(optional) -> The default schema to usepassword(optional) -> The password to access the instanceport(optional) -> The port of the instance. Default is1433.authenticator(optional) -> Can be used to specify use of a registered authentication provider. (e.g.ntlm,winsspi(on windows) orkrb5(on linux))ssh_tunnel(optional) -> The URL of the SSH server you would like to use as a tunnel (examplessh://user:[email protected]: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.fedauth(optional) -> The Azure Active Directory authentication string (e.g. for Fabric connection). See here for more details. Accepted values:ActiveDirectoryDefault,ActiveDirectoryIntegrated,ActiveDirectoryPassword,ActiveDirectoryInteractive,ActiveDirectoryMSI,ActiveDirectoryManagedIdentity,ActiveDirectoryApplication,ActiveDirectoryServicePrincipal,ActiveDirectoryServicePrincipalAccessToken,ActiveDirectoryDeviceCode,ActiveDirectoryAzCli.use_adbc(optional) -> Enable Arrow Database Connectivity (ADBC) driver for high-performance data transfer. See ADBC for setup and details. (v1.5.2+)adbc_uri(optional) -> Override the automatically constructed ADBC connection URI when usinguse_adbc=true.
Additional Parameters
Sling uses the go-mssqldb library and thus will accept any paremters listed here. Some parameters that may be of interest:
encrypt->strict,disable,falseortrue- whether data between client and server is encrypted.log-> logging level (accepts1,2,4,8,16,32).trusted_connection->trueorfalse- whether to connects to SQL Server with a trusted connection using integrated security (also will use the-Tflag when using bulk loading withbcp)trust_server_certificate->trueorfalse- whether the server certificate is checkedcertificate-> 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-> The kerberos SPN (Service Principal Name) for the server. Default is MSSQLSvc/host:port.driver-> A way to override the sql driver to connect with. Default issqlserver. Other option isazuresqlbcp_auth_string-> A way to override the waybcpauthenticates. Accepts an array of strings, for example['U', 'username', '-T', '-G']will append flags-U username -T -Gto thebcpcommand.bcp_extra_args-> A way to add additional args to thebcpcommand. Accepts an array of strings, for example['b', '5000']will append flags-b 5000to thebcpcommand.bcp_entra_auth-> Appends the-Gflag to thebcpcommand for MS Entra Auth.bcp_path-> The path to thebcpbinary. This is useful if you need to specify a custom path forbcp.bcp_azure_token_resource(v1.4.24+) -> where usingfed_auth=ActiveDirectoryAzCli, this indicates the resource to use to obtain an access token for BCP to use. Default ishttps://database.windows.netaz_path-> The path to theazbinary. This is useful if you need to specify a custom path forazto obtain an access token.
Kerberos Parameters
authenticator- set this tokrb5to enable kerberos authentication. If this is not present, the default provider would bentlmfor unix andwinsspifor windows.krb5_config_file(optional) - path to kerberos configuration file. Defaults to/etc/krb5.conf. Can also be set usingKRB5_CONFIGenvironment 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 likeusername@REALM.krb5_keytab_file- path to Keytab file. Can also be set using environment variableKRB5_KTNAME. If no parameter or environment variable is set, theDefaultClientKeytabNamevalue from the krb5 config file is used.krb5_cred_cache_file- path to Credential cache. Can also be set using environment variableKRB5CCNAME.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.
Sling supports authentication via 3 methods. See here for more details.
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.
Using sling conns
sling connsHere are examples of setting a connection named MSSQL. We must provide the type=sqlserver property:
Environment Variable
See here to learn more about the .env.sling file.
Sling Env File YAML
See here to learn more about the sling env.yaml file.
If you are facing issues connecting, please reach out to us at [email protected], on discord or open a Github Issue here.
Last updated
Was this helpful?