Create SQL Server for SQL Database in Azure

In this post, we will quickly create a SQL Server in Azure.

To achieve this I will use a PowerShell script.

Prerequisite is:

  • Azure Subscription
  • existing Resource Group

First, we will define a variable.

$RGName = 'sql-container' 
$Location = 'westeu'
$SqlServerName = 'sql-server-name'
$SqlAdminUser = 'sql-admin'
$SqlAdminPass = 'Str0ngP@ssword' | ConvertTo-SecureString -AsPlainText -Force 
$SqlAdminCred = New-Object System.Management.Automation.PSCredential($SqlAdminUser, $SqlAdminPass)

After that, we will check if there is already a server if not, then the script will start to create one.

$SQLExists = Get-AzSqlServer -ResourceGroupName $RGName -ServerName $SqlServerName -ErrorAction SilentlyContinue
if ($SQLExists -eq $null) 
    {
        New-AzSqlServer `
            -ResourceGroupName $RGName `
            -ServerName $SqlServerName `
            -Location $Location `
            -SqlAdministratorCredentials $SqlAdminCred
                
        Write-Host "SQL server ($SqlServerName) created."
    }
else 
    {
        Write-Host "SQL server ($SqlServerName) exists."
    }

…and the last block is to create a firewall rule for Azure resources

New-AzSqlServerFirewallRule `
    -ResourceGroupName $RGName `
    -ServerName $SqlServerName `
    -AllowAllAzureIPs

Below is the entire script:

# Create SQL server for SQL Database 

$RGName = 'sql-container' 
$Location = 'westeu'
$SqlServerName = 'sql-server-name'
$SqlAdminUser = 'sql-admin'
$SqlAdminPass = 'Str0ngP@ssword' | ConvertTo-SecureString -AsPlainText -Force 
$SqlAdminCred = New-Object System.Management.Automation.PSCredential($SqlAdminUser, $SqlAdminPass)

$SQLExists = Get-AzSqlServer -ResourceGroupName $RGName -ServerName $SqlServerName -ErrorAction SilentlyContinue
if ($SQLExists -eq $null) 
    {
        New-AzSqlServer `
            -ResourceGroupName $RGName `
            -ServerName $SqlServerName `
            -Location $Location `
            -SqlAdministratorCredentials $SqlAdminCred
                
        Write-Host "SQL server ($SqlServerName) created."
    }
else 
    {
        Write-Host "SQL server ($SqlServerName) exists."
    }

# Create firewall rule for Azure resources 
New-AzSqlServerFirewallRule `
    -ResourceGroupName $RGName `
    -ServerName $SqlServerName `
    -AllowAllAzureIPs

Leave a comment