Ejercicio: Configuración de Azure SQL Database
Ya ha visto Azure Portal, SQL Server Management Studio (SSMS) y los cuadernos de SQL en Azure Data Studio. Hay otras herramientas disponibles para administrar Azure SQL. Dos de las más populares son la CLI de Azure y Azure PowerShell. Tienen una funcionalidad similar. Esta actividad se centra en la CLI de Azure.
Para completar esta actividad, puede usar un cuaderno de PowerShell, que es el mismo concepto que un cuaderno de SQL, pero el lenguaje de codificación es PowerShell. Puede usar cuadernos de PowerShell para aprovechar las ventajas de la CLI de Azure o Azure PowerShell. Este artículo se centra en los comandos de la CLI de Azure. Para las dos herramientas, también puede usar Azure Cloud Shell, que es un entorno de shell interactivo que puede utilizar a través del explorador en Azure Portal.
En este ejercicio, usaremos Cloud Shell. Ya incluye los módulos de la CLI de Azure y Azure PowerShell.
Conexión con Azure Cloud Shell y la CLI de Azure
En el ejemplo siguiente, se exploran los efectos de latencia del uso de diferentes directivas de conexión en Azure SQL.
Ejecute todos los comandos mediante Cloud Shell. Puede copiarlos fácilmente y, después, seleccionar Mayús+Insertar para pegarlos en el terminal.
Nota:
En PowerShell a través de Azure Cloud Shell, puede usar el módulo Az de PowerShell o la CLI de Azure. En esta actividad, estudiaremos la CLI de Azure, pero hay comandos similares disponibles para el módulo Az de PowerShell.
Vaya a shell.azure.com y, si se le pide, inicie sesión en su cuenta de Azure.
Configure un grupo de recursos predeterminado y un servidor lógico de Azure SQL Database, para que no tenga que especificarlos con cada comando
az
. Ejecute los comandos siguientes para establecer algunas variables. Reemplace<resource-group>
y<your-server>
por los valores que ha usado al crear la instancia de SQL en el ejercicio anterior.resourceGroup="<resource-group>" logical_server="<your-server>" databaseName="AdventureWorks"
Establezca los valores predeterminados en Cloud Shell para especificar el grupo de recursos predeterminado y el servidor lógico de Azure SQL Database:
az configure --defaults group=$resourceGroup sql-server=$logical_server
Ejecute el siguiente comando para confirmar que se han establecido los valores predeterminados:
az configure --list-defaults
Ejecute el siguiente comando para mostrar todas las bases de datos del servidor lógico de Azure SQL Database:
az sql db list
La lista de bases de datos contiene gran cantidad de información. Ejecute el siguiente comando si solo quiere ver información específica de la base de datos
AdventureWorks
:az sql db show --name $databaseName
Ejecute el siguiente comando para determinar el tamaño y el uso de la base de datos:
az sql db list-usages --name $databaseName
En estos ejemplos, se usan los comandos az sql db. También hay comandos relacionados con el servidor lógico de Azure SQL Database. Son parte de az sql server.
Hay comandos similares para az sql mi y az sql midb. Son comandos para bases de datos dentro de una instancia administrada, a veces, denominadas bases de datos administradas.
Para obtener una explicación detallada de todos los comandos disponibles, consulte la documentación de la CLI de Azure.
Administración de directivas de conexión con la CLI de Azure
Una de las cosas para las que puede usar los comandos de la CLI de Azure o Azure PowerShell es actualizar la directiva de conexión. Esta actualización es un ejemplo de cómo puede administrar Azure SQL mediante una herramienta como la CLI de Azure. En este ejemplo, examina Azure SQL Database y sus comandos para administrar las directivas de conexión. La implementación es similar en Azure SQL Managed Instance.
Descubra la directiva actual mediante la CLI de Azure.
az sql server conn-policy show
Los resultados indican que el tipo de conexión es
Default
.Establezca la directiva de conexión en
Proxy
y determine el tiempo de ida y vuelta.# update policy az sql server conn-policy update --connection-type Proxy # confirm update az sql server conn-policy show
Para probar el tiempo de ida y vuelta, conéctese mediante SSMS. En el dispositivo, abra SSMS y conéctese a la base de datos. Haga clic con el botón secundario en la base de datos y seleccione Nueva consulta. Cree una nueva consulta con el texto siguiente y, después, seleccione Consulta>incluir estadísticas de cliente. En los resultados, el Tiempo de espera en las respuestas del servidor es el mejor indicador de la latencia de red. Puede ejecutar esta consulta varias veces para obtener un buen promedio.
-- Proxy SELECT * FROM SalesLT.Product GO 10
Después de 10 pruebas, un tiempo promedio de espera en las respuestas del servidor podría ser similar a
46.6000
. En función de la conexión a Internet, los resultados pueden variar. Anote el tiempo que observe.¿Qué ocurre si quiere aplicar
Redirect
a todo para poder intentar lograr una latencia reducida?Para todo lo que esté fuera de Azure, debe permitir la comunicación entrante y saliente en los puertos en el intervalo de 11000 a 11999. La apertura de estos puertos es necesaria para la directiva de la conexión
Redirect
.Nota:
Lo más probable es que ya esté configurado en el dispositivo local. Si se producen errores en los pasos siguientes, es posible que tenga que habilitar los puertos mencionados anteriormente. Para obtener más información, consulte Puertos más allá de 1433 para ADO.NET 4.5.
Actualice la directiva de conexión y confirme la actualización con los dos comandos siguientes.
# update policy az sql server conn-policy update --connection-type Redirect # confirm update az sql server conn-policy show
Para probar la latencia de red desde la directiva
Redirect
, conéctese a SSMS en el dispositivo local. Cree una consulta con el texto siguiente y elija Incluir estadísticas de cliente en los resultados. Compare el Tiempo de espera en las respuestas del servidor con la consulta paraProxy
.-- Redirect SELECT * FROM SalesLT.Product GO 10
Después de 10 pruebas, el tiempo medio de espera de las respuestas del servidor puede ser alrededor de
25.8000
, que es casi la mitad del de la directiva de conexión del proxy. Los intervalos exactos varían en función de la conexión. El tiempo debe reducirse significativamente en comparación con la prueba de proxy anterior.Vuelva a establecer la configuración predeterminada de la directiva para el siguiente ejercicio. Para ello, ejecute estos comandos:
# update policy az sql server conn-policy update --connection-type Default # confirm update az sql server conn-policy show
El redireccionamiento es más rápido porque, después de la conexión inicial, puede omitir la puerta de enlace y pasar directamente a la base de datos. Esta omisión implica menos saltos, lo que reduce la latencia. Una menor latencia ayuda a evitar los cuellos de botella, lo que es especialmente importante para las aplicaciones muy activas. En el módulo de rendimiento, obtendrá más información sobre cómo mejorar y optimizar el rendimiento.