Adición de una conexión a Azure SQL Database

Con Visual Studio, puede conectar cualquiera de lo siguiente a Azure SQL Database mediante el uso de la característica Servicios conectados:

  • Aplicación de consola de .NET Framework
  • Model-View-Controller (Modelo-Vista-Controlador) ASP.NET (MVC) (Esquema de trabajo .NET)
  • ASP.NET Core
  • .NET Core (incluida la aplicación de consola, WPF, Windows Forms y la biblioteca de clases)
  • Rol de trabajo de .NET Core
  • Azure Functions
  • Aplicación de la Plataforma universal de Windows
  • Xamarin
  • Cordova

La funcionalidad del servicio conectado agrega todo el código de conexión y las referencias necesarios al proyecto y modifica los archivos de configuración de forma adecuada.

Nota

Este tema se aplica a Visual Studio para Windows. En Visual Studio para Mac, vea Servicios conectados en Visual Studio para Mac.

Requisitos previos

Conexión a Azure SQL Database mediante Servicios conectados

  1. Abra el proyecto en Visual Studio.

  2. En el Explorador de soluciones, haga clic con el botón derecho en el nodo Servicios conectados y, en el menú contextual, seleccione Agregar para abrir el menú de servicios disponibles.

    Screenshot showing Connected Services context menu options.

  3. Elija Base de datos de SQL Server. Aparece la página Conectarse a la dependencia. Debería ver varias opciones:

    • SQL Server Express LocalDB, la solución de SQL Database integrada que se instala con Visual Studio
    • Base de datos de SQL Server en un contenedor local de la máquina
    • SQL Server Database, un servidor SQL local en la red local
    • Azure SQL Database, para la SQL Database que se ejecuta como un servicio de Azure

    Si empieza con una base de datos local, puede reducir el costo y simplificar los primeros pasos del desarrollo. En Azure, para realizar la migración al servicio en directo más adelante debe repetir estos pasos y elegir otra opción. Si crea una base de datos de forma local que desee volver a crear en Azure, puede migrar la base de datos a Azure en ese momento.

    Screenshot showing SQL Database choices.

    Si quiere conectarse al servicio de Azure, siga con el paso siguiente o, si aún no ha iniciado sesión, acceda a su cuenta de Azure antes de continuar. Si no tiene una cuenta de Azure, puede registrarse para obtener una evaluación gratuita.

  4. En la pantalla Configurar Azure SQL Database, seleccione una base de datos de Azure SQL existente y seleccione Siguiente.

    Si necesita crear un componente, vaya al siguiente paso. De lo contrario, vaya al paso 7.

    Screenshot showing

  5. Cómo crear una instancia de Azure SQL Database:

    1. Seleccione Crear nuevo al lado del signo de más verde.

    2. Rellene la pantalla Azure SQL Database: Crear nueva y seleccione Crear.

      Screenshot showing

    3. Cuando se muestra la pantalla Configurar Azure SQL Database, la nueva base de datos aparece en la lista. Elija la nueva base de datos en la lista y seleccione Siguiente.

  6. Escriba un nombre de cadena de conexión, o elija el valor predeterminado, y seleccione si quiere la cadena de conexión almacenada en un archivo de secretos local o en Azure Key Vault.

    Screenshot showing

  7. En la pantalla Resumen de cambios se muestran todas las modificaciones que se realizarán en el proyecto si completa el proceso. Si los cambios parecen correctos, seleccione Finalizar.

    Screenshot showing

    Si se le pide que establezca reglas de firewall, elija .

    Screenshot showing firewall rules.

  8. En Explorador de soluciones, haga doble clic en el nodo Servicios conectados para abrir la pestaña Servicios conectados. La conexión aparece en la sección Dependencias del servicio:

    Screenshot showing

    Si hace clic en los tres puntos que hay junto a la dependencia que agregó, puede ver varias opciones, como Conectar para volver a abrir el asistente y cambiar la conexión. También puede hacer clic en los tres puntos situados en la parte superior derecha de la ventana para ver las opciones para iniciar dependencias locales, cambiar la configuración, etc.

Acceso a la cadena de conexión

Aprenda a almacenar secretos de forma segura como se indica en Almacenamiento seguro de secretos de aplicaciones en desarrollo en ASP.NET Core. En concreto, para leer la cadena de conexión del almacén de secretos, puede agregar código como se indica en Lectura del secreto mediante la API de configuración. Consulte también Inserción de dependencias en ASP.NET Core.

Migraciones de Entity Framework

Es posible que sea conveniente trabajar con un almacén de datos local durante el desarrollo temprano, pero con Entity Framework Core, cuando esté listo para pasar a la nube, puede usar la compatibilidad de Visual Studio con la migración de Entity Framework para mover la base de datos o combinar cambios con un almacén de datos remoto. Consulte Información general sobre migraciones.

En la pestaña Servicios conectados, puede encontrar los comandos de migración haciendo clic en los tres puntos, como se muestra en la captura de pantalla:

Screenshot showing migration commands.

Los comandos están disponibles para crear nuevas migraciones, aplicarlas directamente o generar scripts SQL que apliquen las migraciones.

Adición de migración

Cuando se introduce un cambio de modelo de datos, puede usar las herramientas de Entity Framework Core para agregar una migración correspondiente que describa en el código las actualizaciones necesarias para mantener sincronizado el esquema de la base de datos. Entity Framework Core compara el modelo actual con una instantánea del modelo anterior para determinar las diferencias y genera archivos de origen de migración. Los archivos se agregan al proyecto, normalmente en una carpeta denominada Migraciones y se puede realizar un seguimiento en el control de código fuente del proyecto como cualquier otro archivo de código fuente.

Al elegir esta opción, se le pedirá que proporcione el nombre de la clase de contexto que representa el esquema de base de datos que desea migrar.

Screenshot showing adding an Entity Framework migration.

Actualizar la base de datos

Una vez creada una migración, se puede aplicar a una base de datos. Entity Framework actualiza la base de datos y el esquema con los cambios especificados en el código de migración. Al elegir esta opción, se le pedirá que proporcione el nombre de la clase de contexto que representa el esquema de base de datos que desea migrar.

Generación de script SQL

La manera recomendada de implementar migraciones en una base de datos de producción es mediante la generación de scripts SQL. Entre las ventajas de esta estrategia se incluyen las siguientes:

  • Los scripts SQL se pueden revisar para obtener precisión. Esto es importante, ya que aplicar cambios de esquema a las bases de datos de producción es una operación potencialmente peligrosa que podría implicar la pérdida de datos.
  • En algunos casos, los scripts se pueden ajustar para adaptarse a las necesidades específicas de una base de datos de producción.
  • Los scripts SQL se pueden usar junto con una tecnología de implementación e incluso se pueden generar como parte del proceso de CI.
  • Los scripts SQL se pueden proporcionar a un DBA y se pueden administrar y archivar por separado.

Cuando use esta opción, se le pedirá la clase de contexto de base de datos y la ubicación del archivo de script.

Screenshot showing the Generate SQL script option.

Apertura en el Explorador de objetos de SQL Server

Para mayor comodidad, este comando le permite acceder al Explorador de objetos de SQL Server, por lo que puede ver tablas y otras entidades de base de datos y trabajar directamente con los datos. Consulte Explorador de objetos.

Screenshot showing SQL Server Object Explorer.

Pasos siguientes

Puede continuar con las guías de inicio rápido de Azure SQL Database, pero, en lugar de comenzar por el principio, puede empezar después de la configuración de la conexión inicial. Si usa Entity Framework, puede empezar en Adición del código para conectarse a Azure SQL Database. Si usa clases de datos de ADO.NET o SqlClient, puede empezar en Adición del código para conectarse a Azure SQL Database.

Su código no coincidirá exactamente con lo que se usa en las guías de inicio rápido, que usan una manera diferente de obtener la cadena de conexión. Las cadenas de conexión son secretos y se almacenan de forma segura, como se explica en Almacenamiento seguro de secretos de aplicación en el desarrollo en ASP.NET Core. En concreto, para leer la cadena de conexión del almacén de secretos, puede agregar código como se indica en Lectura del secreto mediante la API de configuración. En los proyectos de ASP.NET Core, la cadena de conexión creada por Servicios conectados está disponible en un objeto de configuración. Puede acceder a ella usando una propiedad de la clase WebApplicationBuilder (builder en muchas plantillas de proyecto), como en el siguiente ejemplo:

var connection = builder.Configuration["ConnectionStrings:ConnectionString1"];