Published on

SQL Server setup using Azure SQL Edge Docker image

Intro

A SQL Server setup guide.

Shout out this blog post.

Tools

Steps

  • Run SQL Sever container using Docker image. Specifically for M1 architecture with the --platform linux/arm64/v8 flag.

    docker run -d --name mssql-server --platform linux/arm64/v8 -e ACCEPT_EULA=Y -e SA_PASSWORD=reallyStrongPwd123 -p 1433:1433 mcr.microsoft.com/azure-sql-edge
    
  • SSH into db.

    sqlcmd -U sa -P reallyStrongPwd123 -S 127.0.0.1,1433 -C
    
  • Create database. SQL Server uses TSQL, a SQL variant. Run GO after each query for it to execute.

    create database RSE;
    GO
    
  • Switch to database context, RSE, the database we just created.

    use RSE;
    GO
    
  • View tables.

    SELECT name FROM sys.tables;
    GO
    
  • Create database table Employees.

    CREATE TABLE [dbo].[Employees](
      [EmpNum] [int] PRIMARY KEY,
      [FirstName] [nvarchar](30) NOT NULL,
      [LastName] [nvarchar](30) NOT NULL,
      [MiddleInitial] [nchar](1) NULL,
      [Job] [int] NOT NULL
    );
    GO
    
  • Seed employee data.

    INSERT [dbo].[Employees]([EmpNum], [FirstName], [LastName], [MiddleInitial], [Job])
    VALUES(1001, 'Robert', 'Smith', '', 1);
    INSERT [dbo].[Employees]([EmpNum], [FirstName], [LastName], [MiddleInitial], [Job])
    VALUES(1002, 'Sue', 'Jones', '', 5);
    INSERT [dbo].[Employees]([EmpNum], [FirstName], [LastName], [MiddleInitial], [Job])
    VALUES(1003, 'Alan', 'Doe', 'A', 3);
    INSERT [dbo].[Employees]([EmpNum], [FirstName], [LastName], [MiddleInitial], [Job])
    VALUES(1004, 'Tim', 'Kelly', '', 2);
    INSERT [dbo].[Employees]([EmpNum], [FirstName], [LastName], [MiddleInitial], [Job])
    VALUES(1005, 'Louis', 'Sullivan', '', 2);
    GO
    
  • View all employee rows.

    SELECT * From Employees;
    GO
    
  • Voila!

previews