Explorar una única base de datos SQL

Completado

Echemos un vistazo a varios métodos para implementar una base de datos única de Azure SQL Database.

Implementación mediante el portal

La creación de una base de datos SQL a través de Azure Portal es sencilla. En primer lugar, vaya a Azure Portal y seleccione "Bases de datos SQL" en el menú izquierdo. En el panel desplegable que aparece, selecciona "Crear".

Captura de pantalla que muestra la página de implementación de Azure SQL Database en el portal de Azure.

En el panel de la imagen siguiente, observará que la suscripción ya debería habérsele proporcionado. Deberá proporcionar la siguiente información:

  • Grupo de recursos : si tiene un grupo de recursos existente que desea usar, selecciónelo en la lista desplegable. Para crear un nuevo grupo de recursos para esta instancia de Azure SQL Database, elija la opción Crear nuevo .
  • Nombre de la base de datos : proporcione un nombre para la base de datos.
  • Servidor : cada base de datos debe residir en un servidor lógico. Si ya tiene uno en la región adecuada, puede seleccionarlo. De lo contrario, seleccione el vínculo Crear nuevo y siga las indicaciones para crear un nuevo servidor lógico para hospedar la base de datos.
  • ¿Quiere usar un grupo elástico de SQL? – Decida si se usará un grupo elástico.
  • Proceso y almacenamiento : determine los recursos de proceso adecuados necesarios. De forma predeterminada, se establece en Gen5, 2vCore, con 32 GB de almacenamiento. Seleccione Configurar base de datos para ver y elegir opciones de configuración alternativas.

Captura de pantalla que muestra la página Crear SQL Database en Azure Portal.

Aquí observará que el nivel de servicio es De uso general y el nivel de proceso es Sin servidor, como se ha descrito anteriormente. Sin servidor se factura por segundo según el número de núcleos virtuales que se usen. La opción alternativa es Aprovisionada, donde los recursos de proceso se asignan previamente y se facturan por hora en función del número de núcleos virtuales configurados.

Selección del nivel de servicio en Azure Portal.

Implementación de Azure SQL Database mediante PowerShell o CLI

También puede implementar la base de datos mediante Azure PowerShell o la CLI de Azure. En la imagen siguiente se muestra el ejemplo de PowerShell en el que va a crear un nuevo grupo de recursos y definir un administrador llamado SqlAdmin y, a continuación, crear un servidor, una base de datos y una regla de firewall.

# Connect-AzAccount

# The SubscriptionId in which to create these objects
$SubscriptionId = ''

# Set the resource group name and location for your server
$resourceGroupName = "myResourceGroup-$(Get-Random)"
$location = "westus2"

# Set an admin login and password for your server
$adminSqlLogin = "SqlAdmin"
$password = "ChangeYourAdminPassword1"

# Set server name - the logical server name has to be unique in the system
$serverName = "server-$(Get-Random)"

# The sample database name
$databaseName = "mySampleDatabase"

# The ip address range that you want to allow to access your server
$startIp = "0.0.0.0"
$endIp = "0.0.0.0"

# Set subscription
Set-AzContext -SubscriptionId $subscriptionId

# Create a resource group
$resourceGroup = New-AzResourceGroup -Name $resourceGroupName -Location $location

# Create a server with a system wide unique server name
$server = New-AzSqlServer -ResourceGroupName $resourceGroupName `
 -ServerName $serverName `
 -Location $location `
 -SqlAdministratorCredentials $(New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList $adminSqlLogin, $(ConvertTo-SecureString -String $password -AsPlainText -Force))

# Create a server firewall rule that allows access from the specified IP range

$serverFirewallRule = New-AzSqlServerFirewallRule -ResourceGroupName $resourceGroupName `
 -ServerName $serverName `
 -FirewallRuleName "AllowedIPs" -StartIpAddress $startIp -EndIpAddress $endIp

# Create a blank database with an S0 performance level

$database = New-AzSqlDatabase -ResourceGroupName $resourceGroupName `
 -ServerName $serverName `
 -DatabaseName $databaseName `
 -RequestedServiceObjectiveName "S0" `
 -SampleName "AdventureWorksLT"

También se puede usar la CLI de Azure para implementar Azure SQL Database, como se muestra a continuación:

#!/bin/bash

# set execution context (if necessary)
az account set --subscription <replace with your subscription name or id>

# Set the resource group name and location for your server
resourceGroupName=myResourceGroup-$RANDOM
location=westus2

# Set an admin login and password for your database
adminlogin=ServerAdmin
password=`openssl rand -base64 16`

# password=<EnterYourComplexPasswordHere1>

# The logical server name has to be unique in all of Azure 
servername=server-$RANDOM

# The ip address range that you want to allow to access your DB
startip=0.0.0.0
endip=0.0.0.0

# Create a resource group
az group create \
 --name $resourceGroupName \
 --location $location

# Create a logical server in the resource group
az sql server create \
 --name $servername \
 --resource-group $resourceGroupName \
 --location $location \
 --admin-user $adminlogin \
 --admin-password $password

# Configure a firewall rule for the server

az sql server firewall-rule create \
 --resource-group $resourceGroupName \
 --server $servername \
 -n AllowYourIp \
 --start-ip-address $startip \
 --end-ip-address $endip

# Create a database in the server
az sql db create \
 --resource-group $resourceGroupName \
 --server $servername 
 --name mySampleDatabase \
 --sample-name AdventureWorksLT \
 --edition GeneralPurpose \
 --family Gen4 \
 --capacity 1 \

# Echo random password
echo $password

Implementación de Azure SQL Database con plantillas de Azure Resource Manager

Otro método para implementar recursos es mediante una plantilla de Azure Resource Manager, tal como se mencionó anteriormente. Una plantilla de Resource Manager proporciona el control más granular sobre los recursos y Microsoft proporciona un repositorio de GitHub denominado Azure-Quickstart-Templates, que hospeda plantillas de Azure Resource Manager a las que puede hacer referencia en las implementaciones. A continuación se muestra un ejemplo de PowerShell de implementación de una plantilla basada en GitHub:

#Define Variables for parameters to pass to template
$projectName = Read-Host -Prompt "Enter a project name"
$location = Read-Host -Prompt "Enter an Azure location (i.e. centralus)"
$adminUser = Read-Host -Prompt "Enter the SQL server administrator username"
$adminPassword = Read-Host -Prompt "Enter the SQl server administrator password" -AsSecureString
$resourceGroupName = "${projectName}rg"

#Create Resource Group and Deploy Template to Resource Group
New-AzResourceGroup -Name $resourceGroupName -Location $location

New-AzResourceGroupDeployment -ResourceGroupName $resourceGroupName `
 -TemplateUri "https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/101-sql-logical-server/azuredeploy.json" `
 -administratorLogin $adminUser -administratorLoginPassword $adminPassword

Read-Host -Prompt "Press [ENTER] to continue ..."

Este script automatiza la creación de un grupo de recursos de Azure y la implementación de un servidor lógico de SQL dentro de él. Solicita al usuario el nombre de un proyecto, la ubicación de Azure y las credenciales de administrador de SQL Server y, a continuación, crea un grupo de recursos con los detalles proporcionados. Por último, implementa un servidor lógico de SQL en el grupo de recursos mediante una plantilla de ARM predefinida desde un URI especificado y pausa la ejecución hasta que el usuario presiona ENTER.