How to start and use the HowTo SqlServer database in Tabulify

About

This howto shows you how to:

Steps

Docker Installation

howto docker services are an easy way to start locally a database instance.

Because howto services are docker services, you should have docker installed on your computer.

Check the service

By default, the user configuration vault is created with the howto docker services.

You can check if the sqlserver service is present and see its attributes with:

tabul service info sqlserver
Information about the service (sqlserver)
Attribute     Value                                                   Description
-----------   -----------------------------------------------------   --------------------------
COMMAND                                                               The command
ENVIRONMENT   {ACCEPT_EULA=Y, MSSQL_SA_PASSWORD=TheSecret1!}          The environment attributes
IMAGE         mcr.microsoft.com/mssql/server:2022-CU19-ubuntu-22.04   The image
IS_STARTED    true                                                    The status of the service
NAME          sqlserver                                               The name of the service
ORIGIN        CONF                                                    The origin of the system
PORTS         1433:1433                                               The ports
TYPE          docker                                                  The type of the system
VOLUMES                                                               The volumes

tabul data print --type text .tabul/.tabul.yml@home | yq '.spec.services.sqlserver'
environment:
  ACCEPT_EULA: Y
  MSSQL_SA_PASSWORD: TheSecret1!
image: mcr.microsoft.com/mssql/server:2022-CU19-ubuntu-22.04
ports:
  - 1433:1433
type: docker

If the service is not present move or delete your user configuration vault file.

Note on the password restriction

This service is based on the Official SqlServer and the password should follow the SQL Server default password policy

  • at least 8 characters long
  • contain characters from three of the following four sets:
    • Uppercase letters,
    • Lowercase letters,
    • Base 10 digits,
    • and Symbols.

That's why we have chosen TheSecret1! and a basic welcome password.

Start the sqlserver service

To start the docker service, you can use

This service is based on the Official SqlServer Docker image.

tabul service start sqlserver
1 service was started
Name        Type
---------   ------
sqlserver   docker

You can use start the local database with the following Bash command :

docker run \
    -e MSSQL_SA_PASSWORD=TheSecret1! \
    -e ACCEPT_EULA=Y \
    -p 1433:1433 \
    -d \
    --name sqlserver \
    mcr.microsoft.com/mssql/server:2022-CU18-ubuntu-22.04
docker run ^
    -e MSSQL_SA_PASSWORD=TheSecret1! ^
    -e ACCEPT_EULA=Y ^
    -p 1433:1433 ^
    -d ^
    --name sqlserver ^
    mcr.microsoft.com/mssql/server:2022-CU18-ubuntu-22.04

Check that you can ping/connect to the service with the connection

tabul connection ping sqlserver
The connection (sqlserver) has been pinged successfully

Connection Info

By default, the user configuration vault is created with the howto docker services.

You can check the service with the tabul service info command

tabul connection info sqlserver
Information about the connection (sqlserver)
Attribute                    Value                                                                      Description
--------------------------   ------------------------------------------------------------------------   --------------------------------------------------------------------
BOOLEAN_DATA_TYPE            Native                                                                     Boolean data type used to store boolean values
BUILDER_CACHE_ENABLED        true                                                                       Enable or disable the builder cache
CHAR_DEFAULT_PRECISION       1                                                                          Default CHAR precision
COMMENT                      The default sqlserver connection                                           A connection description
DATABASE_MAJOR_VERSION                                                                                  The major version number of the database
DATABASE_MINOR_VERSION                                                                                  The minor version number of the database
DATABASE_PRODUCT_NAME                                                                                   The name of the database
DATABASE_PRODUCT_VERSION                                                                                The version of the database
DATE_DATA_TYPE               NATIVE                                                                     Date data type used to store date values
DRIVER                       com.microsoft.sqlserver.jdbc.SQLServerDriver                               The jdbc driver class
DRIVER_NAME                                                                                             The driver name
DRIVER_VERSION                                                                                          The driver version
HOST                                                                                                    Host Server
JDBC_MAJOR_VERSION                                                                                      The major version number of JDBC
JDBC_MINOR_VERSION                                                                                      The minor version number of JDBC
LOGIN_STATEMENTS                                                                                        Statements that runs after a connection has been established
MAX_CONCURRENT_THREAD                                                                                   The maximum number of threads that can be created against the system
MAX_NAME_IN_PATH                                                                                        The maximum number of names in a path
NAME                         sqlserver                                                                  The name of the connection
NAME_QUOTING_DISABLED_CASE   UPPERCASE                                                                  The case to apply when quoting is disabled
NAME_QUOTING_ENABLED         true                                                                       Enable quoting of names
NATIVES                                                                                                 Native Driver attributes (jdbc properties, ...)
NCHAR_DEFAULT_PRECISION      1                                                                          Default NCHAR precision
NVARCHAR_DEFAULT_PRECISION   0                                                                          Default NVARCHAR precision
ORIGIN                       CONF                                                                       The origin of the connection
PASSWORD                     TheSecret1!                                                                The user password
PORT                         1433                                                                       Host Port
SUPPORT_BATCH_UPDATES                                                                                   If the system supports batch SQL updates
SUPPORT_NAMED_PARAMETERS                                                                                If the system supports named parameters in the SQL statement
TIMESTAMP_DATA_TYPE          NATIVE                                                                     Timestamp data type used to store timestamp values
TIME_DATA_TYPE               NATIVE                                                                     Time format data type to store time values
URI                          jdbc:sqlserver://localhost:1433;encrypt=true;trustServerCertificate=true   The uri of the connection
USER                         sa                                                                         The user name
VARCHAR_DEFAULT_PRECISION    0                                                                          Default VARCHAR precision
WORKING_PATH                 master.dbo.                                                                The working path (Schema for database, directory for file system)

You can also check the connection attributes with the configuration vault

tabul data print --type text .tabul/.tabul.yml@home | yq '.spec.connections.sqlserver'
comment: The default sqlserver connection
driver: com.microsoft.sqlserver.jdbc.SQLServerDriver
password: TheSecret1!
uri: jdbc:sqlserver://localhost:1433;encrypt=true;trustServerCertificate=true
user: sa

If the connection is not present, move or delete your user configuration vault file.

Use the sqlserver connection

You then can use the @sqlserver connection in place of any other connection

Example:

  • replacing the @sqlite connection by the @sqlserver
# with sqlite
# tabul data upsert characters.csv@howto @sqlite
# with sqlserver
tabul data upsert characters.csv@howto @sqlserver
# with sqlite
# tabul data list  *@sqlite
# with sqlserver
tabul data list  *@sqlserver
path         media_type
----------   ----------
characters   table

In particularly, you can follow:

Data Generator - How to generate a date dimension ?

A date dimension is a typical case for data generation and this article shows you how to generate it.
How to create a SQL View with a SELECT query

This howto shows you how to create sql views with select query stored in SQL file We are going to use the tpcds query_11.sql to create this view. With the tabul create command, to create view...
How to create a SQL view with a CREATE statement file

This Howto will show you how to create a SQL View with a SQL file that contains a CREATE SQL statement with the Tabul table create command. You should have Tabulify installed on your computer: ...
How to diff a SQL table ?

This howto show you how to perform diff operation between 2 SQL Tables with the data diff command. In this step, we load the csv resources that we want to compare into sqlite Load the original...
SQLite - How to fill a table with a resource data generator?

This how-to will show you how to define the generation of data via a data definition file and load it into a table via the tabul data fill operation.
SQLite - How to fill a table with auto generated data

This how-to will show you how to fill a table with auto-generated data and the Tabul fill action.
Sql Table

This How-to section is specific to the SQL Table
Tabul - How to create a table from the definition of another table

This Howto will show you how to copy the data definition of a SQL table from another SQL table
Tabul - How to list SQL Tables

This howto will show you how to list SQL Tables
Tabul - How to load a CSV file into a SQL table

How to upload a CSV file into a SQL table in two steps

Stop the sqlserver service

Once, you don't need the sqlserver service, you can stop it:

tabul service stop sqlserver
1 service was stopped
Name        Type
---------   ------
sqlserver   docker

You can also stop it with Docker

docker stop sqlserver



Related Pages
How to create an Microsoft SqlServer connection?

This howto shows you how to create a connection to an sqlserver database. An sqlserver connection supports : all common connection attributes Uri, user, password ... and all relational...
HowTo's Connections

Tabulify comes with pre-configured connections that are used in the How-to's After a fresh installation, you should see them by listing the connection. sqlite and sqlite-target are sqlite connection...
HowTo's Services

Tabulify comes with pre-configured services that are used in the How-to's After a fresh installation, you should see them by listing the service. where: oracle is an oracle database sqlserver...
SQL Server

Tabulify supports as source and target. It inherits the attributes of the database system. See See Over the upsert operation, SqlServer...
SQL Server - Anonymous Code Block

In , an anonymous code block can be created with the BEGIN/END block. The next steps will be using the howto connection....
Sql Server - Data Type Support

This page regroups data type support information for the Sql Server database. Below is the list of data type of the SQL Server Howto connection printed with the connection type command. Start the...

Task Runner