Esercizio - Verificare il database SQL di Azure
Ora che si è visto come viene visualizzato SQL di Azure in SQL Server Management Studio (SSMS), è possibile verificare la distribuzione.
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à.
In questo esercizio vengono illustrate alcune query comuni sulle funzioni di sistema, sulle viste a gestione dinamica (DMV) e sulle 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. Ilmaster
database su un server logico non è lo stesso del 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.