SQL Server

Introducing SQL Server Containers with SSRS

We are excited to release SSRS support for SQL Server containers, running as a native Windows Service. In this article we take a detailed look at the setup and use of these new SQL Server images.


SQL Server versions 2008 to 2022, Azure SQL, RDS SQL

DevOps and reporting leaders prefer SQL Server containers with SSRS for report development and test.

  • One SSRS per developer / tester - Each report development and test engineer gets their own SSRS, their own report databases and source databases.W
  • One machine for all SSRS containers - Avoid costly VMs and instances for SSRS. Instead, spin up multiple SSRS containers on one machine with writeable database clones.
  • Web application, REST API, kubectl or docker - Use a REST API, kubectl or docker command to orchestrate SSRS report development, testing and deployment

A best practice is to keep the SSRS report files (RDL) files in a source code repository like Git. Windocks delivers SSRS containers with the source database, reporting database and the latest RDL file from the Git repo. This makes development and testing simpler and more reliable.

Windocks orchestration, Windocks SSRS containers, and report development / testing

Windocks orchestration delivers complete SSRS environments (RDL files, report databases, and source databases) with the click of a button or a command line or an API call. Simply provide a spec to Windocks with the SQL Server databases needed, and the location of the repo for the RDL files. Windocks orchestration delivers a SQL Server container with SSRS to each developer, tester and analyst. The orchestator automatically pulls the RDL files from the Git repo and uploads them to the SSRS service in that container. The developer, tester and analyst simply clicks or touches a button and the reports are ready for them to work with using the SSRS web application or web service.


Data sources for SSRS containers

You may choose to use one of the following data sources for the SSRS container:

  • SQL Server database with the SQL Server engine in the same SSRS container
  • Data sources elsewhere (Azure SQL, RDS SQL, GoogleCloud SQL, Oracle instance, Oracle container)

Data sources in SQL Server engine in the same SSRS container

ssrsin

In this case, you need clones of the source databases in the container and the report files (RDL) uploaded to the freshly created SSRS Report server database in the container.


Data sources elsewhere

ssrsout

Here, you need a clone of the ReportServer and ReportServerTemp databases from elsewhere, so that the delivered SSRS container already has all the reports in it pointing to the data source database (Azure SQL, RDS SQL engine database.

 

Get started developing, testing with SSRS containers

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. Prepare the backup files

If your data source is SQL Azure or RDS SQL instance, you need to backup ReportServerDb and ReportServerTempDB from there.

If your data source is the SQL engine in the same container, you need the backups for the source SQL Server databases. The Report server databases will be created for you and you don't need those backups. The RDL files will be automatically uploaded into the report server database for you.

Put the backup files or raw database files in a location accessible to the Windocks server and provide permissions to the machine running Windocks.

3. Provide the spec and scripts to the Windocks orchestrator to build the SSRS image Use this tutorial to create the dockerfile and the scripts needed
4. Deliver SQL Server SSRS containers with the reports ready to go The Windocks orchestrator co-ordinates different services to deliver SQL Server SSRS containers with the required databases and reports. Use a web application, command line or REST API to deliver databases on demand
 

Similar posts

Get notified on new test data management insights

Be the first to know about new insights on DevOps and automation in the test data management space.