Esercizio - Verificare il database SQL di Azure

Completato

Ora che si conosce l'aspetto di Azure SQL in SQL Server Management Studio (SSMS), si esaminerà uno strumento open source denominato Azure Data Studio. Azure Data Studio fornisce un editor leggero e altri strumenti per interagire con Servizi dati di Azure, come SQL Server locale, SQL di Azure e Database di Azure per PostgreSQL. Ecco una breve presentazione per acquisire familiarità.

Stabilire la connessione con Azure Data Studio

  1. Sul dispositivo locale aprire Azure Data Studio. Quando lo si apre per la prima volta, verrà richiesto di effettuare una connessione.

    Se viene richiesto di abilitare le funzionalità di anteprima, selezionare .

    Screenshot della vista di apertura di Azure Data Studio.

    Se questa finestra non viene visualizzata o in qualsiasi momento si vuole aggiungere un'altra connessione, è possibile selezionare il pulsante Nuova connessione sulla barra Server. Nell'esempio seguente viene anche mostrata un'anteprima di una connessione a SQL Server, In questo esercizio non ci si connetterà a SQL Server.

    Screenshot che mostra la creazione di una nuova connessione in Azure Data Studio.

  2. Connettersi al server logico del database SQL di Azure. Compilare il campo Dettagli connessione con i valori seguenti e selezionare Connetti.

    Parametro Valore
    Tipo di connessione Microsoft SQL Server
    Server Immettere il nome del server logico
    Tipo di autenticazione Account di accesso SQL
    Nome utente cloudadmin
    Password Digitare la password per l'account cloudadmin
    Memorizza password Selezionato
    Database AdventureWorks
    Gruppo server Lascia <Default>
    Nome (facoltativo) Lasciare vuoto
  3. Nella scheda Connessioni, in Server si dovrebbe ora visualizzare la connessione del database SQL di Azure. La connessione SQL Server illustrata nell'immagine seguente serve solo per il confronto.

    Screenshot che confronta SQL Server e il database SQL in Azure Data Studio.

  4. L'esecuzione di query in Azure Data Studio, è simile a quella in SSMS. Fare clic con il pulsante destro del mouse sul nome di un database o di un server e scegliere Nuova query.

  5. Per il database SQL di Azure, poiché non si ottiene un server completo, non è possibile modificare il contesto del database con USE [NomeDatabase]. È necessario modificare la connessione in modo da connettersi in modo specifico al database su cui si vuole eseguire una query oppure usare il menu a discesa. Passare al contesto del database AdventureWorks selezionando l'opzione accanto a master ed eseguire SELECT @@VERSION.

    Screenshot dell'esecuzione di una query in Azure Data Studio.

    Più avanti in questo esercizio verrà illustrato il motivo per cui il risultato è diverso da quello ottenuto in SQL Server.

Configurare l'accesso semplificato ai file con Azure Data Studio

Ora che si è connessi, è possibile accedere facilmente agli script e ai notebook di Jupyter. Un notebook di Jupyter è un modo per integrare codice eseguibile con testo. Se non si ha familiarità con i notebook di Jupyter, la si acquisirà presto.

  1. In Azure Data Studio selezionare File>Apri cartella.

    Screenshot dell'apertura di una cartella in Azure Data Studio.

  2. Passare alla posizione in cui è stato estratto il file ZIP delle risorse per questo esercizio. Se sono stati seguiti i prerequisiti, il percorso dovrebbe essere simile a C:\Users\<computer-nomeutente>\mslearn-azure-sql-fundamentals. Al termine, selezionare Seleziona cartella. Se richiesto, selezionare Sì, considerare attendibili gli autori.

  3. Selezionare quindi l'icona Explorer dalla barra delle applicazioni a sinistra per spostarsi tra i file del modulo. Questa cartella contiene tutte le risorse necessarie per il percorso di apprendimento sui concetti fondamentali di Azure SQL, quindi è sufficiente scaricarla e configurare le informazioni una volta sola.

    Negli esercizi relativi al modulo e al percorso di apprendimento verranno fornite istruzioni in vari punti per aprire un file notebook con l'estensione file seguente: .ipynb. È possibile accedere al notebook direttamente da qui oppure dalla scheda dell'icona Notebook.

Verificare la distribuzione

Dopo aver distribuito un'istanza di SQL, in genere si eseguono alcune query per verificare la distribuzione. In SQL di Azure alcune di queste query sono diverse rispetto a SQL Server. In questo passaggio vengono visualizzate le modifiche apportate a SQL Server, il modo in cui cambiano e le novità.

Per completare l'esercizio sono disponibili due opzioni:

  • T-SQL in SSMS
  • Notebook di SQL in Azure Data Studio

Entrambi gli esercizi includono gli stessi comandi e lo stesso contenuto, quindi è possibile scegliere l'opzione preferita.

Opzione 1: T-SQL in SSMS

In questa opzione vengono illustrate alcune query comuni sulle funzioni di sistema, le viste a gestione dinamica (DMV) e le viste del catalogo che è possibile usare dopo la distribuzione in SSMS. Si vedrà quali funzionano allo stesso modo in SQL Server, quali funzionano in modo diverso e quali sono nuove in Azure SQL.

  1. Connettersi al server logico del database SQL di Azure in SSMS, se non è già stato fatto.

  2. Fare clic con il pulsante destro del mouse sul AdventureWorksdatabase e selezionare Nuova query.

  3. Controllare la versione distribuita eseguendo la ben nota funzione di sistema @@VERSION.

    SELECT @@VERSION
    

    Screenshot del risultato della funzione SELECT @@VERSION.

    Il risultato è leggermente diverso da SQL Server. Si può affermare che si tratta di un server di Azure SQL, che non ha versioni. Il database SQL di Azure include le modifiche più aggiornate in linea con la versione più recente di SQL Server. Tuttavia, l'uso della funzione di sistema @@VERSION è un metodo comune per verificare che sia possibile "eseguire una query" su SQL Server.

  4. Determinare il tipo specifico di distribuzione di SQL di Azure, in base al numero restituito:

    • 1: Personal o Desktop Engine
    • 2: Standard
    • 3: Enterprise
    • 4: Express
    • 5: Database SQL
    • 6: SQL Data Warehouse
    • 8: Istanza gestita di SQL

    Eseguire il comando T-SQL seguente per verificare se si ottiene il risultato previsto.

    SELECT SERVERPROPERTY('EngineEdition');
    

    Screenshot dei risultati per la distribuzione di SQL di Azure.

    Il risultato è 5, che ha senso perché è stato distribuito il database SQL di Azure, non Istanza gestita di SQL o SQL Server Enterprise. Non è presente alcun numero speciale per SQL Server in Macchine virtuali di Azure. Il numero corrisponde all'edizione installata nella macchina virtuale. Personal o Desktop Engine è un'edizione meno recente che non viene più usata con SQL Server.

  5. Ora verranno esaminate le viste del catalogo sys.databases e sys.objects. In genere, si esaminano queste viste per verificare l'installazione e lo stato dei database di sistema e per controllare gli oggetti di sistema nel database.

    SELECT * FROM sys.databases;
    SELECT * FROM sys.objects;
    

    Screenshot che mostra i risultati per sys.databases e sys.objects.

    Nel primo set di risultati i database di sistema msdb, tempdbe model non sono elencati. Sono elencati solo master e il database utente. Il database master in un server logico SQL di Azure non corrisponde al database fisico master installato con SQL Server. In Istanza gestita di SQL di Azure verrà visualizzato il set normale di database di sistema, come per qualsiasi istanza di SQL Server.

    sys.objects è tuttavia simile a una normale istanza di SQL Server. Questo vale per le tabelle di sistema, le tabelle interne e gli oggetti utente per il database AdventureWorksLT di esempio.

  6. Verificare che tutte le utilità di pianificazione siano online e che vengano rilevate le CPU disponibili previste, considerando che la distribuzione è stata eseguita con un modello a due vCore.

    SELECT * FROM sys.dm_os_schedulers where STATUS = 'VISIBLE ONLINE';
    

    Screenshot che mostra i risultati per sys.dm_os_schedulers.

    Due utilità di pianificazione VISIBLE ONLINE sono quelle che ci si aspetterebbe quando sono disponibili due vCore per l'istanza di SQL Server in cui viene distribuito il database SQL.

  7. Per una distribuzione di SQL Server, in genere è possibile esaminare DMV come sys.dm_process_memory per visualizzare i limiti di CPU, memoria e ruoli di lavoro. Questa vista a gestione dinamica (DMV) non è supportata con il database SQL di Azure, perché l'utente non espone o controlla i dettagli dell'host che supporta il database. È possibile usare la vista DMV sys.dm_user_db_resource_governance per esaminare le capacità e i limiti del database SQL distribuito. È anche possibile usare sys.dm_instance_resource_governance in Istanza gestita di SQL di Azure.

    Eseguire ed esaminare i risultati della query seguente. Confrontare i risultati con il piano tariffario e i limiti documentati per il livello distribuito. slo_name è l'obiettivo del livello di servizio che indica l'opzione di distribuzione, il livello di servizio, l'hardware e la quantità di calcolo. Inoltre, poiché il database SQL di Azure usa oggetti processo di Windows per altri limiti delle risorse, ad esempio la memoria, è possibile usare la vista a gestione dinamica (DMV) sys.dm_os_job_object per visualizzare le risorse disponibili per la distribuzione.

    SELECT * FROM sys.dm_user_db_resource_governance;
    

    Screenshot dei risultati che mostrano i limiti di governance delle risorse.

  8. Una tecnica comune per analizzare una distribuzione di SQL Server consiste nell'esaminare un elenco di richieste attive. Proprio come per SQL Server, è possibile usare sys.dm_exec_requests per visualizzare le richieste SQL attualmente in esecuzione.

    SELECT * FROM sys.dm_exec_requests;
    

    Screenshot dei risultati che mostrano dm_exec_requests.

    Usare sys.dm_exec_requests per il database SQL di Azure non è come usarla per SQL Server o per Istanza gestita di SQL. Questa vista a gestione dinamica (DMV) mostra solo le richieste attive correlate al database, incluse le attività in background o le attività in background che non hanno un contesto di database che viene visualizzato come master. Questo comportamento è dovuto alla natura di una distribuzione del database SQL di Azure.

Opzione 2: Notebook di SQL in Azure Data Studio

Per questa opzione si userà il notebook VerifyDeployment.ipynb, disponibile in 02-DeployAndConfigure\verifydeployment\VerifyDeployment.ipynb nel repository GitHub o nel file ZIP scaricato in precedenza. Passare a tale file in Azure Data Studio per completare questa parte dell'esercizio e quindi tornare qui. Nella stessa cartella, sono disponibili anche notebook aggiuntivi che contengono i risultati delle stesse query in Istanza gestita di SQL di Azure e in SQL Server 2019.

Se non è possibile completare l'esercizio per qualsiasi motivo, è possibile esaminare i risultati nel file del notebook corrispondente in GitHub.