Ejercicio: Configuración de Azure SQL Database

Completado

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, use 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.

Ejecutará todos los comandos de 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, se estudia la CLI de Azure, pero hay comandos similares disponibles para el módulo Az de PowerShell.

  1. Vaya a shell.azure.com y, si se le pide, inicie sesión en su cuenta de Azure.

  2. 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"
    
  3. 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
    
  4. Ejecute el siguiente comando para confirmar que se han establecido los valores predeterminados:

    az configure --list-defaults
    
  5. Ejecute el siguiente comando para mostrar todas las bases de datos del servidor lógico de Azure SQL Database:

    az sql db list
    
  6. 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
    
  7. 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.

  1. Use la CLI de Azure para ver cuál es la directiva actual.

    az sql server conn-policy show
    

    Los resultados indican que el tipo de conexión es Default.

  2. 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
    
  3. 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.

  4. ¿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
    
  5. 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 para Proxy.

    -- 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.

  6. 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.