Esercizio - Verificare il database SQL di Azure
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
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 Sì.
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.
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 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.
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.
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 amaster
ed eseguireSELECT @@VERSION
.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.
In Azure Data Studio selezionare File>Apri cartella.
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.
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.
Connettersi al server logico del database SQL di Azure in SSMS, se non è già stato fatto.
Fare clic con il pulsante destro del mouse sul
AdventureWorks
database e selezionare Nuova query.Controllare la versione distribuita eseguendo la ben nota funzione di sistema
@@VERSION
.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.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');
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.
Ora verranno esaminate le viste del catalogo
sys.databases
esys.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;
Nel primo set di risultati i database di sistema
msdb
,tempdb
emodel
non sono elencati. Sono elencati solomaster
e il database utente. Il databasemaster
in un server logico SQL di Azure non corrisponde al database fisicomaster
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 databaseAdventureWorksLT
di esempio.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';
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.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 DMVsys.dm_user_db_resource_governance
per esaminare le capacità e i limiti del database SQL distribuito. È anche possibile usaresys.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;
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;
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 comemaster
. 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.