SQL Server containers with SSRS (Reporting services)
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
Windocks orchestration 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.
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.
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 orchestrator automatically pulls the RDL files from the Git repo and uploads them to the SSRS service in that container.
The developer, tester or 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
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
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 email@example.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