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