How it works

On-demand databases customized and delivered using database orchestration

On-demand is the ability to get a database (usually production data) with a click or an API call. Production databases must be customized for the use case. Testing requires sensitive data obfuscation while reporting does not. Feature branch developers need database scripts from a repo applied to the database. Database orchestration is a supervisory control plane service that co-ordinates different services such as cloning, containerization, production refresh, access control, masking, and script repos to customize and deliver databases With Windocks, simply provide a spec that describes the databases you want, the masking requirements, database scripts to apply, which repo hosts the scripts, how often to refresh from production, where you want to deliver the databases (containers or instances), and access controls. Windocks database orchestration delivers the customized databases on demand. You can use a web application, command line or REST API. Windocks supports SQL Server (all versions and editions), Oracle (11 and up), Postgre, MySql, and Azure SQL. Database orchestration 

Databases & devops pipelines 

Databases & Azure Devops 

Test data management 

Delivered securely in seconds with database cloning, masking and access control

Database cloning delivers database copies in seconds no matter how big the database. Multiple copies use the same disk blocks so copies are made instantaneously and without using additional storage. Before database clones are delivered, sensitive data can be obfuscated before delivery using database masking technology. Windocks database cloning technology is based on standard operating system technology in Linux and Windows. Database clones are writeable and delivered instantaneously no matter how big the database. Windocks masking discovers and obfuscates sensitive data. Masked production database clones for SQL Server, Oracle, MySQL, and PostGre are delivered in containers or instances. Refreshes from production are automated so database clones always have current production data. Database cloning 

Database masking 

Access control 

Oracle containers, SQL Server containers for Windows, Azure SQL, RDS SQL

SQL Server and Oracle containers are isolated SQL Servers and Oracle processes running on a single machine on different ports. They can be created and removed quickly so they are suitable for test, dev, ML, and devops. SQL Server production usually runs on Windows and Azure SQL, Amazon RDS SQL Server also run on Windows libraries. So, the best practice is to develop and test in SQL Server Windows containers with production data since that is identical to production. SQL Server Windows container technology is provided by Windocks and supports SQL Server, Azure SQL, and RDS SQL databases. Oracle production runs principally on Linux, which means the best practice is to do dev and test in Oracle Linux containers. Oracle container technology is provided by Docker and is based on Oracle Linux Windocks SQL Server containers for Windows SQL Azure and RDS SQL are available for SQL Server 2008, 2012, 2014, 2016, 2017, and 2019 - Express, Developer, Standard, and Enterprise with support for Active Directory authentication. They support SQL Server databases using backups or database files and they support Azure SQL databases using BACPAC. Windocks SQL Server containers include Agent, Analysis (SSAS), reporting (SSRS) and integration (SSIS) services. Oracle containers for Linux are available for Oracle 11, 12, 18, 19, 21. Windocks delivers customized production database clones to Windocks SQL Server containers or docker Oracle containers for Linux SQL Server containers 

Dev, test with SSRS containers 

Oracle containers 

Azure SQL dev, test 

Simplify infrastructure, code, support and maintenance

Databases for development, test, reporting, support, ML and devops require orchestration of backups from multiple production servers, different customizations for different use cases, and delivery into containers or instances. This involves VM and storage infrastructure, writing and maintaining code to customize databases, deliver and refresh them Windocks cloning and containers simplify the infrastructure for customized database delivery. Containers reduce the number of VMs used, cloning reduces storage, so organizations can simplify their infrastructure, support and maintenance. Windocks orchestration enables code-free database delivery so you don't have to write or maintain code. Simply provide a dockerfile spec and Windocks orchestration takes care of the rest Database orchestration 

Git, database containers 


SQL refresh

Steps to deliver customized databases on-demand

1. Install Windocks Download the Windocks Community Edition or email support@windocks.com for a full featured evaluation edition. Provision a Windows Server VM (Server 2016, 2019, or 2022), install SQL Server (for SQL database delivery) and then install Windocks as described here. For Oracle database delivery, also install the Windocks service for Linux as described here
2. Provide the spec to the Windocks orchestrator and build the image

Specify the path to one or more SQL backup or database files, Azure SQL BACPAC files, or Oracle RMAN backup, or Oracle oradata files. Specify which database cloning to use (Windocks database cloning or volume cloning from other companies), where to deliver the database clones (Windocks SQL Server Windows containers or SQL Server instances or docker Oracle containers), how often to refresh from production, customizations such as database scripts to be applied, which masking software to use (Windocks masking, other masking solutions or scripts), and authorization controls.Provide the spec in the form of a dockerfile and build the image via a web application, command line or REST API.

Tutorial for SQL Server    Tutorial for Oracle   Tutorial for PostGre, MySQL.

3. Deliver databases From the image, deliver database clones to containers or instances. The image you built defines where the databases are delivered to. You may define an image that delivers containers with clones as well as clones to instances. To deliver containers and clones, use the web application or use the docker command line or the REST API.
4. Use the databases Database clones are delivered either to containers or instances based on the image you built. If you delivered to an instance, then connect to that instance for the database clone. Clones are writeable. Containers are delivered on the machine running Windocks on specified ports. Access these containers with regular database tools or command lines or connection strings.

SQL Server containers are accessed with SQL Management Studio or Azure Data Studio or SQLCMD. Connect with the instance name (such as INSTANCE10002 when the container port is 10002). Or you can use the form IPAddressOfWindocksServer,10002 to connect to the SQL container running on port 10002.

Oracle containers are accessed with SQLPlus, RMAN or UI tools for Oracle. You may put in entries in tnsnames.ora for the containers as you would for Oracle instances. With SQLPlus or RMAN, use the form SQLPLUS sys/password@IPAddressOfWindocksLinuxServer:HostPort/orclcdb as sysdba

5. Refresh from production Refresh the image with SQL Server transaction log backups from production or incremental RMAN backups for Oracle. After refresh, clones delivered from the image will have the latest production data. See the SQL Server tutorial to build images that can be refreshed. Windocks orchestration does the refreshes for you - it automatically polls for fresh transaction log backups periodically and refreshes the image. Or you can do the refreshes via UI, command line or the refresh REST API.

Windocks technology components

  • Containers - Windocks offers container technology for SQL Server Windows and Azure SQL. These containers are isolated SQL Servers running on a single machine on different ports and can be created and removed quickly. Windocks SQL Server containers are an independent port by Windocks of Docker's container technology. They are available for SQL Server 2008, 2012, 2014, 2016, 2017, and 2019 - Express, Developer, Standard, and Enterprise with support for Active Directory authentication. All SQL services are supported including Agent, Analysis (SSAS), reporting (SSRS) and integration (SSIS). If your production runs in SQL Server, Azure SQL or managed Azure SQL, these containers can be used for test, dev, support, reporting, ML, and devops. Windocks orchestration co-ordinates Windocks SQL Server containers with Windocks cloning, and masking to deliver databases on demand. Learn more about SQL Server containers
  • Database cloning - Windocks provides database cloning technology based on standard Linux and Windows file systems. Simply build an image once by restoring SQL Server backups or files, Azure SQL BACPACs, Oracle backups or files, PostGre / MySQL dumps. Windocks will create database clones instantaneously from the image no matter how big the database. Clones use minimal storage - for example a clone of a 10TB database will only occupy 40MB. Clones are writeable and as you write data into the database clone, the size starts growing. Windocks cloning works with either Windocks SQL Server containers or docker Oracle, PostGre, MySQL containers on Linux. The clones are delivered to containers or to conventionally installed database instances or to Kubernetes. Windocks orchestration polls for fresh SQL Server transaction log backups periodically and refreshes the image with current production data. Clones delivered always have current production data. Learn more about database cloning.
  • Masking - Windocks offers a built-in database masking solution that discovers and obfuscates sensitive data in SQL Server and Oracle databases. Use a single UI tool to discover sensitive data, classify, and build masks. Windocks masking is deterministic, retains field formats and can preserve parts of fields for masking. Learn more about database masking
  • Database Orchestration - Windocks database orchestration is a supervisory database control plane that co-ordinates database cloning, containerization, periodic production refresh, access control, masking, and script repositories to customize and deliver databases. It is needed for database operations at speed and scale for dev, test, reporting, ML, and devops. Orchestration removes the need for you to write or maintain code. You simply specify the databases needed and how to customize them and Windocks orchestration does the work for you. Windocks orchestration is an open system that allows you to use either built-in cloning, container, masking services from Windocks or solutions from others. Learn more about database orchestration
  • Production refresh - Windocks refreshes images with incremental backups from production to always deliver current production database clones. Database orchestration automatically polls for fresh incremental backups, and applies them to keep databases current with production. Alternatively, you can apply incremental backups yourself via UI, API or command line. For SQL Server these incremental backups are transaction log backups.
  • Versioned data repo - The Windocks data repo is a repository of images of all databases ready to be delivered. Each image contains one or more databases ready to be cloned. Images are versioned to track different customizations for different use cases and different versions of production data by dates. Containers with clones are delivered from this data repo. Each image in the data repo consists of one or more databases with all the rules built in for masking, applying database scripts, security and more. The data repo enables databases to be first class artifacts that are auditable.
  • REST API, CLI, web application - All Windocks services are accessed via a built-in web application, a REST API or a command line. Docker clients, Kubectl commands, Helm charts or UI are supported.

Explore topics