6.2 Cambiar a SQL Server en Azure

¿Qué es Azure?

Azure es un servicio proporcionado por Microsoft para que las empresas ya no tengan que comprar y darle mantenimiento a un servidor propio. Azure pone a tu disposición sus servidores virtuales y bases de datos en donde pagas de acuerdo al tiempo de uso y las características del servidor que desees.

Por ejemplo puedes rentar un servidor y solo pagas por el tiempo que lo usas, por ejemplo si lo apagas en las noches de 2:00 am a 6:00 am esas horas no te las cobran o te las cobran a un menor precio. O por ejemplo si tu aplicación es una juguetería puedes rentar un servidor básico y en temporada de ventas altas como navidad se agregan 2 servidores par balancear automáticamente el número de visitas entre los 2 servidores.

Por lo general azure esta disponible de forma gratuita para que lo pruebes, ya sea en programas de 12 meses, o con programas como bizspark de apoyo a emprendedores por 3 años. Puedes utilizar también visual studio dev essentials para tener acceso a meses gratis de azure y otros productos

Crear una base de datos de SQL Server en Azure

Con tu cuenta de dev essentials vamos a configurar una base de datos de sql server.

  1. Registrate con tu cuenta gratuita en www.portal.azure.com e inicia sesión

  2. Da clic en el icono SQL Database

3. Da clic en el botón Crear base de datos sql

4. Teclea un nombre para tu base de datos en mi caso es CaducaRest 5. Selecciona tu suscripción en mi caso tengo una de Visual Studio Enterprise BizSpark Un grupo de recursos te permite agrupar tus servicios de azure para ver por ejemplo cuánto estas pagando de azure por sistema de la empresa. Ejemplo cuánto se gasta de azure de los equipos de ventas, cuanto los equipos de compras, etc.

6. Da clic en crear nuevo y teclea un nombre en mi caso es cursos y da clic en Aceptar

7. Selecciona en origen la opción Base de datos en blanco 8. En la opción Servidor vamos a configurar un servidor gratuito de Sql Server. 9. Teclea un nombre para el servidor por ejemplo caduca 10. En nombre de usuario tecleamos AdminCaduca 11. En password tecleamos el password 12. Selecciona la ubicación mas cercana a tu lugar de origen

13. En plan de tarifa selecciona el básico da clic en Aplicar y espera unos minutos en lo que se crea el servidor.

Te llegará una notificación cuando este lista, la opción:

  • Ir al recurso: te permite ir a la opción para revisar tu base de datos

  • Anclar al panel: te permite que se muestre en tu página inicial.

14. Da clic en el botón Ir al recurso

Azure muestra muchos gráficos sobre el uso de tu base de datos.

Se recomienda que por seguridad tu base de datos solo este disponible para las ips de las computadoras de desarrollo y las del servidor de pruebas y de producción.

Para configurar la lista de ips permitidas

  1. Da clic en la opción Establecer Firewall del Servidor

2. Da clic en Agregar IP de cliente se te agrega automáticamente la ip de tu computadora, cambia el nombre de la regla por uno mas descriptivo como por ejemplo Desarrollo

Desde Azure Data Studio probamos la conexión a nuestro server

Cambiar tu aplicación para que se conecte a azure

Todas las conexiones a Sql Server en Azure están encriptadas, por lo cual debes especificar que la conexión es encriptada, desde el mismo portal de azure puedes copiar los datos de la cadena de conexión, solamente debes cambiar tu usuario y contraseña

  1. En la opción Cadenas de Conexión damos clic en el icono copiar para copiar al portapapeles la cadena de conexión

2. En tu proyecto de .net en tu archivo appsettings.json agrega la cadena de conexión con el nombre AzureSQLConnection

appsetings.json
{
  "ConnectionStrings": {
    "DefaultConnection": "server=localhost;port=3306;database=caduca;user=AdminCaduca;Password=StKRV6MR6A;sslMode=none",
    "SQLServerConnection": "Server=localhost;Database=caduca;User Id=AdminCaduca;Password=StKRV6MR6A;",
    "AzureSQLConnection": "Server=tcp:armhe.database.windows.net,1433;Initial Catalog=CaducaRest;Persist Security Info=False;User ID=AdminCaduca;Password=StKRV6MR6A;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;"
  },

3. En el archivo startup.cs cambiamos la cadena de conexión para utilizar la de Azure

startup.cs
public void ConfigureServices(IServiceCollection services)
{
    //Código
    
    //Conexión SQL Server Azure
    services.AddDbContext<CaducaContext>(options => 
       options.UseSqlServer(Configuration.GetConnectionString("AzureSQLConnection")));

}

4. En la consola del administrador de paquetes teclea el comando

Update-database

Listo ahora tu aplicación esta con una base de datos de Azure.

Last updated