TECHNICAL DOCS

Integration (SSIS), analysis (SSAS), agent in containers

Windocks delivers multiple containers on a single machine with all SQL services - each with the SQL engine, integration, analysis, reporting and agent.

  • One SSIS, SSAS, SSRS per user - Each user gets their own engine, integration, analysis, reporting and agent. Jobs andreports run in the containers and are isolated from each other
  • One machine for all SSIS, SSAS, SSRS containers - Avoid costly VMs and instances. Instead, spin up multiple containers on a single machine and reduce CPU and storage costs
  • Web application, REST API, kubectl or docker - Use a REST API, kubectl or docker command to orchestrate the containers.

 

 

Tutorial for SSIS, SSRS, Agent in containers

Please email support@windocks.com for a free supported evaluation of Windocks first. Install Windocks and then:


docker run -d mssqlall-2019
This delivers SQL Server containers with all the SQL services

Service accounts

There are several options for which service accounts are used to run the various SQL Server services. Open the file windocks\config\node.conf to set this. After changes to node.conf, you MUST restart the Windocks service.

If these service specific logins and user names are specified then Windocks will use these. Uncomment these lines and put in the login and encrypted password. If there is no password for the account such as for gSMA then leave the comment # as is

#REPORTING_SERVICE_LOGIN="MACHINE\Administrator"
#REPORTING_SERVICE_PASSWORD="encryptedpassword"

#ANALYSIS_SERVICE_LOGIN="MACHINE\Administrator"
#ANALYSIS_SERVICE_PASSWORD="encryptedpassword"

#INTEGRATION_SERVICE_LOGIN="MACHINE\Administrator"
#INTEGRATION_SERVICE_PASSWORD="encryptedpassword"

#SQL_SERVICE_LOGIN="MACHINE\Administrator"
#SQL_SERVICE_PASSWORD="encryptedpassword"

#SQLAGENT_SERVICE_LOGIN="MACHINE\Administrator"
#SQLAGENT_SERVICE_PASSWORD="encryptedpassword"

If you do not want to specify individual accounts as above, then add or uncomment the line:
# GENERATE_LOCAL_ACCOUNTS_WITH_PASSWORD="Encrypted password here"

This will generate machine accounts to run the services, a different account for each service.

If you do not want to specify generated machine accounts with passwords as above, then add or uncomment the line:
# GENERATE_SERVICE_ACCOUNTS="1"

This will generate service accounts for the services

 

 

Windocks editions

The standard and community Windocks editions deliver SQL Server containers with the SQL engine running as a command line. To run SSIS, SSRS, SSAS, Agent and also to support linked servers or distributed transactions, the enterprise Windocks edition is required. The enterprise editions include three additional base images

  • mssqlsvc-20xx - delivers SQL Server and Agent running as services (All versions and editions of SQL Server)
  • mssqlall-20xx - delivers SQL Server, SSIS, SSRS, SSAS and Agent running as services

 

 

SSIS

Integration services (SSIS) are delivered running with the container SQL Server engine. Unlike the other services, SSIS cannot be connected to with a port since the standard SSIS installation is one per machine. Windocks allows multiple SSIS instances of the same version to run on the same machine and you can connect to them by making a separate REST API call specifying which SSIS port you want to connect to. Instructions are below and you will also need to see the sample in windocks\samples\ssis

# These are the curl commands to make the calls to Windocks to specify which SSIS container (port) is the active one
# You will need the json as well in windocks\samples\ssis
# Create a token such as ssistest191 below and encrypt it using windocks\bin\encrypt.exe
# Put the encrypted token in windocks\config\node.conf as follows:
SSIS_ENCRYPTED_TOKEN="Put encrypted token here"
Also uncomment or add the line in node.conf
SSIS_LOCK_TIMEOUT_IN_SECONDS="30"
Restart the Windocks service

# Use this curl call to specify which SSIS container will receive SSIS connections to the host machine
# This call will lock all SSIS usage from any other client, so be sure to call the letgo curl after you are done with
# making the connection and doing your work on the SSIS container
curl -H "Content-Type: application/json" -d@setssis.json -X POST http://localhost:3000/windocksdashboard?token=ssistest191

# Use this curl call to let go of the lock on SSIS usage
curl -H "Content-Type: application/json" -d@letgossis.json -X POST http://localhost:3000/windocksdashboard?token=ssistest191

 

 

SSAS

SSAS in the container is like any SSAS instance and you can connect to the container SSAS in Management Studio by specifying the SSAS port in the container. This port is available as part of the return string when you create the container.

SSAS is pre-configured to run against the container SQL engine. The config and logs are as in any SQL Server install and are available in windocks\container\\mssqlall\bin\MSASx.INSTANCENAME\.....

Extend CI/CD to your data layer