Si necesita realizar cambios en una base de datos SQL, puede abrir SQL Server Management Studio, hacer clic un poco y lograrlo. Pero ¿qué sucede cuando necesita crear una base de datos SQL de Azure 10 o 100 veces o en algún script de automatización? ¡Necesita usar PowerShell!
En este tutorial, aprenderá cómo crear una base de datos SQL de Azure y una regla de firewall del servidor SQL, ¡todo en PowerShell!
¡Empecemos!
Prerrequisitos
Para seguir las demos en este tutorial, asegúrese de tener lo siguiente:
- A computer to run PowerShell – This tutorial uses Windows 10 using PowerShell v7.1.
- A code editor like Visual Studio (VS) Code.
- El módulo de PowerShell de Az: El tutorial usará la versión 5.9.0.
- El módulo de PowerShell de dbatools: El tutorial usará la versión 1.0.145.
- Un grupo de recursos de Azure: Este tutorial usará un grupo de recursos llamado rg-dbaautomation en la región oeste de Europa.
- Está autenticado en Azure en PowerShell.
Creando el servidor SQL de Azure
Antes de poder crear una base de datos SQL de Azure, debes crear un servidor SQL de Azure en el que alojarla. Suponiendo que ya estás autenticado en Azure:
Abre PowerShell en tu ordenador local y crea el servidor SQL de Azure que alojará la base de datos SQL de Azure.
El comando a continuación está creando un servidor SQL de Azure llamado sqlestate
en el grupo de recursos previo con un nombre de usuario de administrador de SQL de SqlAdministrator
y una contraseña de AVeryStrongP@ssword0
. El comando está guardando la salida del cmdlet New-AzSqlServer
para usar atributos del servidor creado más tarde.
Puedes crear un nombre de usuario y contraseña de administrador de SQL a tu elección siempre que cumpla con los requisitos de la base de datos.
El nombre del servidor SQL debe ser globalmente único.
Creando la regla de firewall del servidor Azure SQL
Por defecto, el servidor Azure SQL no permite el acceso a ninguna entidad externa. Para conectarse al servidor, debe crear a continuación una regla de firewall del servidor para acceder al servidor SQL desde su máquina local.
Para crear la regla de firewall del servidor, encuentre la dirección IP pública de su computadora local e invoque el New-AzSqlServerFirewallRule
cmdlet para crear la regla.
El siguiente comando está utilizando el sitio web http://ipinfo.io para encontrar la dirección IP pública de su computadora. Luego está creando la regla de firewall en el grupo de recursos rg-dbaautomation
llamada FirewallRule_Access
y especificando esa dirección IP para todo el rango de IP.

Cómo crear una base de datos Azure SQL
Finalmente, una vez que hayas creado el servidor Azure SQL y la regla del cortafuegos, ahora crea la base de datos utilizando el New-AzSqlDatabase
cmdlet.
El comando a continuación crea una base de datos Azure SQL llamada Estate
con solo una edición Basic
alojada en el servidor recién creado.
Para encontrar todas las ediciones disponibles, ejecuta el cmdlet de PowerShell
Get-AzSqlServerServiceObjective
.

Conexión a la base de datos Azure SQL
Ahora deberías tener una base de datos Azure SQL ejecutándose en tu suscripción de Azure lista para funcionar. Ahora, confirma que puedes conectarte utilizando el Connect-DbaInstance
cmdlet de PowerShell.
Utilizando el FQDN del servidor Azure SQL creado anteriormente, el nombre de la base de datos y las credenciales de administrador de SQL, prueba la conexión a la base de datos con el código siguiente.
Si puedes conectarte a la base de datos, verás la siguiente salida:

Conclusión
Si deseas guardar todos estos pasos mostrados anteriormente en un solo script de PowerShell, crea un nuevo script y copia y pega el fragmento de código siguiente.
Conclusión
Usar PowerShell para crear una base de datos Azure SQL facilita mucho el proceso en comparación con el uso del Portal de Azure. PowerShell le permite automatizar el proceso para crear rápidamente servidores y bases de datos Azure SQL.
¿Dónde ves que tu nueva habilidad para crear bases de datos Azure SQL con PowerShell encaja en tu rutina diaria?
Source:
https://adamtheautomator.com/create-azure-sql-database/