Azure SQL Installation
Tldr
- Naming Convention:
- Server:
xxx-pwrp-dbs - Database:
xxx-pwrp-dwh-db - Schema:
- config
- bc
- odoo
- ionbiz
- etc.
- Server:
- Deployment granularity:
- database server
- we typically have a single database server per client
- if the client has environments, we have a single database server per environment
- database
- we typically have a single database per application field. For example, we only have one database per application
- database server
- Service Tier:
- DTU, Standard (Budget Friendly)
- DTUs: 10-100
Create SQL Server
-
In Azure, create an SQL Database. In the Basics tab
- Name of the resource in the marketplace is "Azure SQL"
- SQL databases > Single database
- name:
xxx-pwrp-db - server: create one if required
- name:
xxx-pwrp-dbs - location: West Europe
- Authentication method: Use both SQL and Microsoft Entra authentication
- Set our tech user as admin
- server admin login:
xxx-pwrp-dbs-admin - password: create a safe password in 1password under
DWH Admin SQL Login, best from a safe generator. Save it in 1pw.

- name:
- No elastic pool
- Workload environment: Development
- Compute + storage: Configure database
- Service tier: DTU > Standard
- Data max size: 2 GB is enough
- Check the cost: ca. 15 USD per month is normal

- Locally-redundant backup storage
-
In the Networking panel, set
- Connectivity method: Public endpoint
- Allow Azure services and resources to access: Yes
- Add current client IP: Yes
-
Security: accept defaults
-
Additional settings: accept defaults
-
Tags: not needed
-
Create
Create Users
-
On the master database, execute the following script:
CREATE LOGIN [db-ddl] WITH password='(generate in 1password)' CREATE LOGIN [db-writer] WITH password='(generate in 1password)' CREATE LOGIN [db-reader] WITH password='(generate in 1password)'
This creates a login to the Server. -
On the respective database, run:
CREATE USER [db-ddl] FROM LOGIN [db-ddl]; EXEC sp_addrolemember 'db_datawriter', 'db-ddl'; EXEC sp_addrolemember 'db_datareader', 'db-ddl'; EXEC sp_addrolemember 'db_ddladmin', 'db-ddl'; CREATE USER [db-writer] FROM LOGIN [db-writer]; EXEC sp_addrolemember 'db_datawriter', 'db-writer'; EXEC sp_addrolemember 'db_datareader', 'db-writer'; CREATE USER [db-reader] FROM LOGIN [db-reader]; EXEC sp_addrolemember 'db_datareader', 'db-reader';
This creates a login and gives it the right permissions. -
Store all three users and passwords in 1pw
Checklist
- SQL Server deployed
- db-ddl User created, can log in
- db-writer User created, can log in
- db-reader User created, can log in