This guide is is intended for knowledgeable IT staff only.
Provision an Azure VM
SQL Server Web Edition
Enable HTTP, HTTPS, and RDP Endpoints via networking
Add Web Server as a role
Install an SSL server certificate
See Certificates section at the bottom for configuration of SQL SSL Certificate
Create folders:
f:\config
f:\export
g:\backup\diff
g:\backup\full
Create a Task Scheduler task to run F:\Config\offsite_to_b.cmd every day at 00:00
Configure IIS for port 443
Point a virtual directory "export" at F:\Export
Create a default.html file and put it in c:\inetpub\wwwroot. The contents are:
<meta http-equiv="refresh" content="0; url=https://shipperxl.com">
Edit the HOSTS file to name the server and point the server name and all DNS aliases to 127.0.0.1 (i.e. db02, db02.hurkin.com)
Install SQL Server Reporting Services (i.e. SSRS, separate download)
Set Reporting Services authentication in rsreportserver.config
<AuthenticationTypes>
<RSWindowsNegotiate/>
<RSWindowsNTLM/>
</AuthenticationTypes>
<RecycleTime>1440</RecycleTime>
Use the Reporting Services Configuration Manager to create a local database
Initialize SSRS endpoints for "/ReportServer" and "/Reports" (including SSL setup)
Using SSMS, connect to the Reporting Services instance, click Properties, and Advanced
Set SupportedHyperlinkSchemes to *
Set TileViewByDefault to False
Reboot
Check https://server.name.com/Reports from both local and remote locations
Create the following directories via the /Reports interface
ShipperXL/ShipperXL
Custom
Custom/{database} for all databases which have custom reports. These will auto-deploy when you deploy reports to it.
Install SQL Server Management Studio (i.e. SSMS, separate download)
Configure SQL Server
Setup Database Mail for support@hurkin.com using profile notifyops@hurkin.com. Port 587. SSL.
Create an Operator for notifyops@hurkin.com
Configure SQL Server Agent, Alert System, Enable Mail Profile and set Fail-safe operator
Set Server Properties:
Remote Query Timeout = 0
Compress Backup (if available)
Advanced: Enable Contained Databases: True
Advanced: Boost SQL Server Priority: True
Advanced: Max Degree of Parallelism: <number of vCPUs>
Database Settings: Backup = G:\backup\
Add jobs for:
Configure SSRS
Add ShipperXL/ShipperXL folders
Add custom/xxxxx folders
Install ShipperXL Desktop locally.
Install Job Agent (will need an instance name and license key)
Run report deployment from Azure DevOps
F:\Config (installation bits, certificates, cmd files, etc.)
F:\Data --> for SQL data files
F:\Export --> IIS
G:\Log --> for SQL log files
G:\Backup --> for all backup files
[copy F:\Config\offsite_to_b.cmd from another server]
B:\ --> net use b: \\hurkinbackup.file.core.windows.net\backup /u:hurkinbackup {key}
S:\ --> net use b: \\hurkinbackup.file.core.windows.net\logs/u:hurkinbackup {key}
Obtain updated SSL certificate.
Install via IIS Manager
Remove old certificate
Make sure root site shows updated cert (check remotely)
Use Report Server Config to update the certificate
Use the SQL Server Config Manager to update the cert (SQL Server Network Configuration \ Protocols for MSSQLSERVER \ Properties \ Certificate)
Use the Computer Certificates tool to set the security on the Private Keys to include "NT Service\MSSQLSERVER"
Restart SQL Server
Confirm everything is working AND shows the new cert.