Ejercicio: Conexión a la base de datos e incorporación de datos de ejemplo
Antes de conectar la base de datos a la aplicación, queremos confirmar que podemos conectarnos a ella, agregar una tabla básica y trabajar con datos de ejemplo.
Mantenemos la infraestructura, las actualizaciones de software y las revisiones para Azure SQL Database. Puede tratar la instancia de Azure SQL Database como haría con cualquier otra instalación de SQL Server. Por ejemplo, puede usar Visual Studio, SQL Server Management Studio, Azure Data Studio u otras herramientas para administrar la instancia de Azure SQL Database.
Cómo acceder a la base de datos y conectarla a la aplicación es decisión suya. Para obtener algo de experiencia trabajando con la base de datos, conectémoslo directamente a ella desde el portal, crear una tabla y ejecutar algunas operaciones CRUD básicas. Aquí aprenderá:
- Qué es Cloud Shell y cómo se accede desde el portal.
- Cómo acceder a información sobre la base de datos desde la CLI de Azure, incluidas las cadenas de conexión.
- Cómo conectarse a la base de datos con
sqlcmd
. - Cómo inicializar la base de datos con una tabla básica y algunos datos de ejemplo.
¿Qué es Azure Cloud Shell?
Azure Cloud Shell es una experiencia de shell basado en el explorador para administrar y desarrollar recursos de Azure. Piense en Cloud Shell como una consola interactiva que se ejecuta en la nube.
En segundo plano, Cloud Shell se ejecuta en Linux. Pero en función de si prefiere un entorno de Linux o Windows, puede elegir entre dos experiencias: Bash y PowerShell.
Cloud Shell es accesible desde cualquier lugar. Además del portal, también puede acceder a Cloud Shell desde shell.azure.com, Azure Mobile App o Visual Studio Code.
Cloud Shell incluye herramientas y editores de texto populares. Esta es una breve descripción de las utilidades az
, jq
y sqlcmd
, que son tres herramientas que usará en este ejercicio.
az
también se conoce como la CLI de Azure. Es la interfaz de la línea de comandos para trabajar con recursos de Azure. Usará esta interfaz para obtener información sobre la base de datos, incluida la cadena de conexión.jq
es un analizador JSON de la línea de comandos. Canalizará la salida de los comandosaz
a esta herramienta para extraer campos importantes de la salida JSON.sqlcmd
permite ejecutar instrucciones en SQL Server. Usarásqlcmd
para crear una sesión interactiva con su instancia de Azure SQL Database.
Obtención de información sobre la instancia de Azure SQL Database
Antes de conectarnos a la base de datos, se recomienda comprobar que existe y que está en línea.
Aquí usamos la utilidad az
para enumerar las bases de datos y mostrar cierta información sobre la base de datos Logistics, incluido su estado y tamaño máximo.
Vaya a shell.azure.com o, desde Azure Portal, seleccione el botón Cloud Shell en los controles globales de la ventana de Azure Portal.
Si se proporciona la opción, elija Bash para este ejercicio de aprendizaje.
En la ventana emergente Introducción, seleccione No se requiere ninguna cuenta de almacenamiento. Seleccione su suscripción en la lista desplegable Suscripción. Seleccione Aplicar. Se carga el nuevo terminal de Cloud Shell.
Los comandos
az
que se van a ejecutar requieren el nombre del grupo de recursos y el nombre del servidor lógico de Azure SQL. Para guardar las pulsaciones de teclas y no tener que escribirlos, ejecute el comandoazure configure
para especificarlos como valores predeterminados.Reemplace
[server-name]
por el nombre del servidor lógico de Azure SQL que creó y[resource-group]
por el grupo de recursos que usó para el servidor.Sugerencia
Para pegar en Cloud Shell, use
Ctrl+Shift+V
en lugar deCtrl+V
. UseCtrl+C
para borrar el comando actual del terminal.az configure --defaults group=[resource-group] sql-server=[server-name]
Nota:
Dependiendo del panel en el que estemos en Azure Portal, el nombre del servidor SQL se muestra como FQDN (p. ej.,
servername.database.windows.net
) o independiente (servername
). Para este comando, solo necesita el nombre lógico sin el sufijo.database.windows.net
.Ejecute el siguiente comando
az sql db list
para mostrar todas las bases de datos en el servidor lógico de Azure SQL:az sql db list
Veremos un gran bloque de JSON como salida.
Como solo queremos ver los nombres de la base de datos ejecute el comando de nuevo. Pero esta vez canalice la salida a
jq
para mostrar solo los campos de nombre.az sql db list | jq '[.[] | {name: .name}]'
Debería obtener esta salida:
[ { "name": "Logistics" }, { "name": "master" } ]
Logistics
es la base de datos de usuario. Al igual que SQL Server, la base de datos del sistemamaster
incluye los metadatos del servidor, como inicios de sesión y los valores de configuración del sistema.Ejecute el siguiente comando
az sql db show
para obtener detalles sobre la base de datosLogistics
:az sql db show --name Logistics
Igual que antes, verá un gran bloque de JSON como salida.
Ejecute por segunda vez el comando. Esta vez, canalice la salida a
jq
para limitarla solo al nombre, tamaño máximo y estado de la base de datos Logistics.az sql db show --name Logistics | jq '{name: .name, maxSizeBytes: .maxSizeBytes, status: .status}'
Verá que la base de datos está en línea y la cantidad máxima de datos que puede almacenar esta.
{ "name": "Logistics", "maxSizeBytes": 2147483648, "status": "Online" }
Si eligió la oferta gratuita de Azure SQL Database, la base de datos sin servidor se pone en pausa automáticamente para conservar los segundos de núcleo virtual gratuitos, por lo que podría ver la base de datos
Logistics
con el estado En pausa después de un período de inactividad.
Conectarse a la base de datos
Una cadena de conexión contiene toda la información necesaria para que una aplicación se conecte a la base de datos. Aunque todavía está en Cloud Shell, empecemos por obtener la cadena de conexión allí.
Cadena de conexión de Cloud Shell
Ejecute el siguiente comando az sql db show-connection-string
para llevar la cadena de conexión a la base de datos Logistics
en un formato que sqlcmd
puede usar:
```azurecli
az sql db show-connection-string --client sqlcmd
```
Your output resembles the following example. Copy this output for use in the next step.
```output
"sqlcmd -S tcp:<server-name>.database.windows.net,1433 -d Logistics -U <username> -P <password> -N -l 30"
```
Cadena de conexión de Azure Portal
Azure Portal proporciona cadenas de conexión para varios proveedores de datos para la base de datos de Azure SQL con un acceso fácil.
- En Azure Portal, vaya a la base de datos SQL.
- En el menú de servicio de la base de datos SQL, en Configuración, seleccione Cadenas de conexión.
- Elija el proveedor de datos y el método de conexión deseados.
Conectarse a la base de datos con Visual Studio Code
Vamos a usar una herramienta gráfica para conectarse a la nueva instancia de Azure SQL Database. Visual Studio Code es un editor de código abierto para Linux, macOS y Windows. Admite extensiones, lo que incluye la extensión mssql para consultar SQL Server, Azure SQL Database, Azure SQL Managed Instance, una base de datos SQL en Fabric y otras plataformas.
Primero, descargue e instale Visual Studio Code.
En Visual Studio Code,abra la vista Extensiones; para ello, seleccione el iconoExtensiones en la barra de actividades del lateral de la ventana. Busque mssql y seleccione Instalar para agregar la extensión. y la extensión mssql a la estación de trabajo local.
Sugerencia
Para el desarrollo futuro del proyecto de aplicación de los objetos de base de datos, use también la Extensión de proyectos de SQL Database para Visual Studio Code. Esta herramienta le permite trabajar con la base de datos en el control de código fuente, capturar esquemas de base de datos existentes, diseñar nuevos objetos y publicar en bases de datos.
En la lista de extensiones, elija la extensión SQL Server.
En CONEXIONES, seleccione Agregar conexión.
Asigne a la nueva conexión un nombre fácil de recordar personalizado en Nombre del perfil.
Tiene varias maneras de proporcionar la información de conexión:
- Elija Parámetros para escribir manualmente el nombre del servidor lógico de Azure SQL, el nombre de la base de datos, el nombre de usuario y la contraseña.
- Elija Cadena de conexión para pegar la cadena de conexión de la base de datos y agregue el nombre de usuario y la contraseña.
- Elija Examinar Azure para conectarse a su suscripción de Azure en VS Code y simplemente seleccione la nueva instancia de Azure SQL Database en una lista.
Para este ejercicio de aprendizaje, elija Examinar Azure. Conéctese a la suscripción de Azure desde VS Code.
Seleccione su Suscripción en la lista.
Seleccione su Grupo de recursos en la lista.
Seleccione su Servidor y Base de datos en la lista.
Con el Tipo de autenticación establecido en Inicio de sesión de SQL, proporcione el Nombre de usuario y la Contraseña que creamos en el último módulo.
Seleccione Conectar.
Cuando se ejecuta correctamente, el cuadro de diálogo Agregar conexión desaparece y se reemplaza por el servidor conectado y un explorador de objetos de Tablas, Vistas, etc.
Consultar la base de datos con Visual Studio Code
Vamos a ejecutar una serie de comandos para realizar operaciones CRUD (crear, leer, actualizar y eliminar) básicas en Azure SQL Database.
Haga clic con el botón derecho en la línea de nombre del servidor en CONEXIONES y seleccione Nueva consulta.
En la nueva ventana de consulta, vamos a crear nuestro primer objeto de base de datos pegando el siguiente comando para crear una nueva tabla denominada
Drivers
.CREATE TABLE Drivers (DriverID int IDENTITY(1,1), LastName varchar(255), FirstName varchar(255), OriginCity varchar(255)); GO
La tabla contiene cuatro columnas: un identificador único, el apellido y el nombre del chofer y su ciudad de origen.
Seleccione el botón Ejecutar consulta para ejecutar los comandos T-SQL en la ventana de consulta.
Sugerencia
Para ejecutar un único comando T-SQL entre muchos en una ventana de consulta, arrastre y seleccione la consulta deseada y, a continuación, seleccione Ejecutar.
Al igual que casi cualquier cosa en Visual Studio Code, los métodos abreviados de teclado se pueden personalizar en Visual Studio Code. En Windows, el método abreviado de teclado predeterminado para Ejecutar es
Ctrl + Shift + E
.A continuación, ejecute las siguientes instrucciones T-SQL para verificar que la tabla
Drivers
existe, consultando los metadatos de la base datos:SELECT name FROM sys.tables; GO
En la pestaña Resultados de la consulta, en Resultados, debe ver que
Drivers
existe en la lista de tablas.name ------- Drivers
Vamos a agregar una fila a nuestra tabla. Ejecute las siguientes instrucciones T-SQL para agregar una fila de ejemplo a la tabla:
INSERT INTO Drivers (LastName, FirstName, OriginCity) VALUES ('Zirne', 'Laura', 'Springfield'); GO
Esta salida indica que la operación se realizó correctamente:
3:14:01 PM Started executing query at Line 7 (1 row affected) Total execution time: 00:00:00.044
Para ver la fila que acabamos de insertar, ejecute las siguientes instrucciones T-SQL para enumerar las columnas
DriverID
yOriginCity
de todas las filas de la tabla:SELECT DriverID, OriginCity FROM Drivers; GO
Verá un resultado con
DriverID
yOriginCity
para la fila que creó en el paso anterior.DriverID OriginCity ----------- -------------------------- 1 Springfield
Vamos a actualizar la fila para cambiar
OriginCity
. Ejecute la siguiente instrucción T-SQL para cambiar la ciudad de origen de "Springfield" a "Boston" para el conductor con unDriverID
1
:UPDATE Drivers SET OriginCity='Boston' WHERE DriverID=1; GO
Debe obtener un mensaje que confirme la ejecución de la consulta en la ventana Resultados de la consulta:
3:14:29 PM Started executing query at Line 13 (1 row affected) Total execution time: 00:00:00.031
Ejecute las siguientes instrucciones T-SQL para volver a mostrar las columnas
DriverID
yOriginCity
:SELECT DriverID, OriginCity FROM Drivers; GO
Debería obtener esta salida. Fíjese en que
OriginCity
refleja la actualización a Boston.DriverID OriginCity ----------- -------------------------- 1 Boston
Por último, vamos a eliminar la fila ejecutando la siguiente instrucción T-SQL para eliminar el registro:
DELETE FROM Drivers WHERE DriverID=1; GO
3:15:00 PM Started executing query at Line 16 (1 row affected) Total execution time: 00:00:00.017
Ejecute las siguientes instrucciones T-SQL para comprobar que la tabla
Drivers
está vacía:SELECT COUNT(*) FROM Drivers; GO
Verá que la tabla no contiene ninguna fila.
----------- 0
Ahora que tiene una idea general para trabajar con Azure SQL Database desde Cloud Shell y en Visual Studio. Puede usar la cadena de conexión para su herramienta de administración de SQL favorita, incluidas SQL Server Management Studio, Visual Studio o aplicaciones personalizadas.
Cloud Shell permite que sea más sencillo acceder a los recursos de Azure de cualquier tipo y trabajar con ellos. Como Cloud Shell se basa en el explorador, puede acceder desde Windows, macOS o Linux; en cualquier sistema con un explorador web.
Ha obtenido cierta experiencia práctica en la ejecución de comandos T-SQL en Visual Studio Code y ha práctico sus aptitudes de T-SQL.
En la siguiente unidad, recapitularemos este módulo y describiremos cómo desmontar nuestra base de datos.