---
title: "Connessione di DatabaseSpy a un database SQL Azure nel cloud"
date: "2010-07-01"
tags: 
  - "database-tool"
  - "databasespy"
  - "sql-server"
  - "tech-ed"
description: Scoprite come connettere DatabaseSpy a un database SQL Azure, come gestire le migrazioni e come risolvere i problemi più comuni che si verificano durante l'integrazione con i database cloud.
---
Status: #blog

Tags:  #database-tool #databasespy #sql-server #tech-ed

Categories: [Altova](/blog/it/category/altova.md) 
# Connessione di DatabaseSpy a un database SQL Azure nel cloud

Consigli e tecniche per facilitare l'introduzione del database SQL Azure, basato su cloud, di Microsoft, negli ambienti di produzione, sono stati i temi principali discussi a giugno alla conferenza Tech-Ed a New Orleans. SQL Azure si basa sulle tecnologie di Microsoft SQL Server ed è progettato per fornire un servizio di database altamente disponibile e scalabile, ospitato da Microsoft nel cloud. Gli sviluppatori che implementano database in SQL Azure non devono installare, configurare, applicare patch o gestire alcun software di database relazionale, ma solo la struttura e il contenuto del proprio database. La ridondanza automatica e la tolleranza agli errori sono integrate, e non è richiesta alcuna attività di amministrazione fisica. 

È possibile creare una stringa di connessione manuale e utilizzare la sintassi e i tipi di dati di SQL Server per connettere [DatabaseSpy](https://www.altova.com/it/databasespy.html) e [altri strumenti Altova](https://www.altova.com/it/solutions/database-tools.html) ai database SQL Azure, al fine di eseguire le attività tipiche di sviluppo e manutenzione del database. Questo articolo del blog mostra come connettersi a un database SQL Azure da DatabaseSpy e illustra diverse operazioni tipiche che potresti voler eseguire durante la migrazione di un database esistente verso il cloud. Per ripetere questi passaggi autonomamente, è necessario disporre di un account SQL Azure, oppure di un nome utente e una password creati da un titolare di un account SQL Azure. Per maggiori informazioni sulla configurazione di un account SQL Azure, visitate la pagina principale di [SQL Azure](http://msdn.microsoft.com/en-us/azure/sqlazure/default.aspx) sul sito Microsoft. Dovrete anche installare il componente [SQL Server Native Client 10.0](http://msdn.microsoft.com/en-us/library/ms131321.aspx) (o una versione successiva). SQL Azure non si comporta esattamente come un database SQL Server locale, quindi non possiamo utilizzare l'utilità di configurazione della connessione a SQL Server di Altova. Invece, utilizzeremo una connessione ODBC. 

[![Finestra di dialogo per la connessione ODBC in DatabaseSpy](https://lh5.ggpht.com/_REdrfeVqYdU/TCufLyT6UKI/AAAAAAAAAKI/2GXVaQshqsM/tn23_01_thumb%5B2%5D.gif?imgmax=800 "DatabaseSpy ODBC Connection Dialog")](http://lh6.ggpht.com/_REdrfeVqYdU/TCufLuJMxEI/AAAAAAAAAKE/s2TpUrv90uA/s1600-h/tn23_01%5B4%5D.gif) 

Non illustreremo qui tutti i dettagli del processo di creazione di una nuova stringa di connessione. È possibile copiare e incollare una stringa di connessione esistente nella finestra di dialogo mostrata sopra.

Dopo aver effettuato la prima connessione a SQL Azure, un file di progetto di DatabaseSpy consente di salvare tutte le impostazioni di connessione, insieme agli script SQL più utilizzati, ai file di progettazione del database e ai confronti tra database, in un unico archivio comodo, da ricaricare in seguito. Lo screenshot qui sotto mostra un nuovo progetto DatabaseSpy con due database connessi contemporaneamente: Sakila in MySQL e Sakila nel cloud su SQL Azure. 

[![Finestra di supporto per il progetto DatabaseSpy](https://lh5.ggpht.com/_REdrfeVqYdU/TCufMjbPtjI/AAAAAAAAAKQ/fS_AUAY_9Z8/Compare%201_thumb%5B2%5D.gif?imgmax=800 "DatabaseSpy Project Helper Window")](http://lh5.ggpht.com/_REdrfeVqYdU/TCufMdJkgTI/AAAAAAAAAKM/_QSKYzv0bec/s1600-h/Compare%201%5B4%5D.gif) 

Microsoft offre diversi strumenti di conversione per aiutare gli utenti a migrare i database esistenti alla piattaforma SQL Azure. Abbiamo utilizzato gli strumenti Microsoft [Assistente alla migrazione da MySQL per SQL Server](http://www.microsoft.com/downloads/details.aspx?FamilyID=0e6168b0-2d0c-4076-96c2-60bd25294a8e&displaylang=en) per convertire il nostro database di esempio MySQL Sakila locale al nostro account SQL Azure. DatabaseSpy consente agli utenti di aprire più connessioni contemporaneamente, anche a database di tipi diversi. La funzionalità di confronto tra database di DatabaseSpy lo rende uno strumento ideale per verificare i risultati della conversione di Sakila. Inizieremo aprendo una funzione di confronto tra schemi di database e selezioneremo alcune tabelle dal database MySQL per il lato sinistro del confronto. 

[![Dialogo di selezione per il confronto di database](https://lh6.ggpht.com/_REdrfeVqYdU/TCufNE4eOHI/AAAAAAAAAKY/pgXiSLJ_wXA/Compare%202_thumb%5B2%5D.gif?imgmax=800 "DatabaseSpy Comparison Selection Dialog")](http://lh4.ggpht.com/_REdrfeVqYdU/TCufM6yZIQI/AAAAAAAAAKU/Btk68j9iQDY/s1600-h/Compare%202%5B4%5D.gif) 

Dopo aver selezionato le tabelle corrispondenti dalla versione SQL Azure, queste si aprono in una finestra di confronto degli schemi del database. 

[![Confronto degli schemi con DatabaseSpy](https://lh4.ggpht.com/_REdrfeVqYdU/TCufNyt1dMI/AAAAAAAAAKg/S2qbtTidi5I/Compare%203_thumb%5B2%5D.gif?imgmax=800 "DatabaseSpy Schema Comparison")](http://lh4.ggpht.com/_REdrfeVqYdU/TCufNixS44I/AAAAAAAAAKc/4JElxf6ZDSY/s1600-h/Compare%203%5B4%5D.gif) 

Quando si clicca sul pulsante verde "confronta" situato nell'angolo in alto a sinistra della finestra, DatabaseSpy confronta le strutture del database, evidenzia le differenze e genera un riepilogo nella finestra dei messaggi. 

[![Confronto degli schemi di database con evidenziazione delle differenze](https://lh4.ggpht.com/_REdrfeVqYdU/TCufPGxojBI/AAAAAAAAAKo/laurJr68vX8/Compare%204_thumb%5B2%5D.gif?imgmax=800 "DatabaseSpy Schema Comparison with Differences")](http://lh3.ggpht.com/_REdrfeVqYdU/TCufOBsbJrI/AAAAAAAAAKk/AYlEquPw-lQ/s1600-h/Compare%204%5B4%5D.gif) 

Alcune differenze riguardano le definizioni dei tipi di dati, che possono variare tra i diversi database. Ad esempio, il tipo "unsigned small int" di MySQL non ha un equivalente esatto in SQL Server, quindi lo strumento di conversione ha sostituito il tipo "int" con il tipo "smallint" per la colonna "film_id" nella tabella "film". Inoltre, il tipo di dati "year" assegnato alla colonna "release_year" in MySQL è stato convertito in "smallint" in SQL Azure. Credo che questo renderà la versione di SQL Azure del database più compatibile con le versioni future, poiché sarà in grado di gestire film pubblicati fino all'anno 32.767, a differenza di 2155, che è il valore massimo del tipo di dati "year" in MySQL! Possiamo confrontare i dati contenuti nei due database tramite una selezione nel menu contestuale del tasto destro, aprendo le tabelle selezionate in una nuova finestra di confronto dei dati. 

[![Menu contestuale di confronto in DatabaseSpy](https://lh3.ggpht.com/_REdrfeVqYdU/TCufP3dYyYI/AAAAAAAAAKw/AgpXSG9shps/Compare%205_thumb%5B2%5D.gif?imgmax=800 "DatabaseSpy Comparison Context Menu")](http://lh6.ggpht.com/_REdrfeVqYdU/TCufPiZEFaI/AAAAAAAAAKs/hYOu8AvEs0c/s1600-h/Compare%205%5B4%5D.gif) 

L'analisi comparativa dei dati ci mostra che il contenuto delle tabelle non è identico. 

[![Confronto dei contenuti di DatabaseSpy](https://lh3.ggpht.com/_REdrfeVqYdU/TCufQj2pQTI/AAAAAAAAAK4/iedHL3kDohM/Compare%206_thumb%5B2%5D.gif?imgmax=800 "DatabaseSpy Content Comparison")](http://lh3.ggpht.com/_REdrfeVqYdU/TCufQOmH8jI/AAAAAAAAAK0/WOs9sgJRIxw/s1600-h/Compare%206%5B4%5D.gif) 

Quando apriamo la finestra dei risultati, vediamo che la colonna relativa alla descrizione non è stata trasferita correttamente. 

[![Confronto dei contenuti di DatabaseSpy con i risultati](https://lh6.ggpht.com/_REdrfeVqYdU/TCufRZY5fYI/AAAAAAAAALA/cIbfxoR8n8M/Compare%206a_thumb%5B2%5D.gif?imgmax=800 "DatabaseSpy Content Comparison with Results")](http://lh4.ggpht.com/_REdrfeVqYdU/TCufQ3sdyUI/AAAAAAAAAK8/wo8YQH1GPPs/s1600-h/Compare%206a%5B4%5D.gif) 

Osservando la finestra di confronto dello schema del database, possiamo notare che la lunghezza della colonna "descrizione" era stata impostata a zero. Questo spiega le frecce rosse che indicano un collegamento dalla colonna "descrizione" in MySQL alla colonna "descrizione" in SQL Azure nella finestra dei risultati. Non è possibile inserire alcun testo in una colonna con una lunghezza definita pari a zero. Invece, apriamo la versione della tabella "film" di SQL Azure in una nuova finestra di progettazione. 

[![Vista grafica di progettazione di DatabaseSpy](https://lh3.ggpht.com/_REdrfeVqYdU/TCufSDh77CI/AAAAAAAAALI/O6EJCwm9aAs/Compare%207_thumb%5B2%5D.gif?imgmax=800 "DatabaseSpy Graphical Design View")](http://lh5.ggpht.com/_REdrfeVqYdU/TCufRp27G0I/AAAAAAAAALE/tqAUWY7CPiQ/s1600-h/Compare%207%5B4%5D.gif) 

Possiamo aumentare la dimensione del campo di descrizione nella finestra delle proprietà e quindi eseguire lo script modificato. 

[![Finestra di supporto per le proprietà di progettazione grafica di DatabaseSpy](https://lh3.ggpht.com/_REdrfeVqYdU/TCufSxioHUI/AAAAAAAAALQ/XoBfYWngEpg/Compare%208_thumb%5B2%5D.gif?imgmax=800 "DatabaseSpy Graphical Design Properties Helper Window")](http://lh5.ggpht.com/_REdrfeVqYdU/TCufSeBoTvI/AAAAAAAAALM/-5AGg9auKgU/s1600-h/Compare%208%5B4%5D.gif) 

[![Script per la modifica della struttura del database DatabaseSpy](https://lh3.ggpht.com/_REdrfeVqYdU/TCufUGt3eiI/AAAAAAAAALY/R4dv-V2QgO8/Compare%209_thumb%5B2%5D.gif?imgmax=800 "DatabaseSpy Database Structure Change Script")](http://lh4.ggpht.com/_REdrfeVqYdU/TCufTAQc5JI/AAAAAAAAALU/xxJcrOJkTjo/s1600-h/Compare%209%5B4%5D.gif) 

Successivamente, quando ripetiamo il confronto dei dati, scopriamo che i dati sono stati convertiti, ma la lunghezza del campo precedentemente definita come zero ha reso i dati invisibili. 

[![Confronto dei contenuti di DatabaseSpy con i risultati](https://lh6.ggpht.com/_REdrfeVqYdU/TCufUstU4FI/AAAAAAAAALg/RkOJTSWx2mA/Compare%2010_thumb%5B2%5D.gif?imgmax=800 "DatabaseSpy Content Comparison with Results")](http://lh5.ggpht.com/_REdrfeVqYdU/TCufUepo9KI/AAAAAAAAALc/tHSQeZyaeFI/s1600-h/Compare%2010%5B4%5D.gif) 

**Problemi di latenza** È possibile utilizzare DatabaseSpy per analizzare i problemi di latenza tra il database cloud e la copia locale. Come abbiamo visto dai dati di confronto precedenti, le tabelle contenenti i dati dei film nelle due basi di dati contengono 1.000 righe di dati identici. Possiamo eseguire ripetutamente istruzioni SELECT per recuperare i dati da SQL Azure e dal database MySQL locale, al fine di misurare i tempi di risposta. La finestra di messaggi dell'editor SQL di DatabaseSpy visualizza il tempo di esecuzione. 

[![Tempo di esecuzione delle query in SQL Azure](https://lh5.ggpht.com/_REdrfeVqYdU/TCufVfSAhaI/AAAAAAAAALo/VNLkRWIysP8/Compare%2011_thumb%5B2%5D.gif?imgmax=800 "SQL Azure Query Execution Time")](http://lh3.ggpht.com/_REdrfeVqYdU/TCufVMdD1hI/AAAAAAAAALk/QtJfweyzCgw/s1600-h/Compare%2011%5B4%5D.gif) 

L'esecuzione della query SELECT sopra descritta, ripetuta per cinque volte consecutive, sulla versione SQL Azure del database sakila, ha prodotto risultati compresi tra 60,632 secondi e 63,851 secondi. L'esecuzione della stessa query SELECT sulla tabella dei film nel database MySQL locale ha prodotto il seguente risultato: 

[![Tempo di esecuzione delle query in SQL Server](https://lh3.ggpht.com/_REdrfeVqYdU/TCufWFGbw5I/AAAAAAAAALw/kmpjFre4XzQ/Compare%2012_thumb%5B2%5D.gif?imgmax=800 "SQL Server Query Execution Time")](http://lh5.ggpht.com/_REdrfeVqYdU/TCufVqTzDjI/AAAAAAAAALs/vEAzXCCR3E0/s1600-h/Compare%2012%5B4%5D.gif) 

Ripetere il test per la versione locale ha prodotto risultati simili. La lezione per gli sviluppatori è che le applicazioni basate su database dovranno probabilmente tenere conto della latenza quando si trasferiscono i dati nel cloud. Provate la vostra connessione a SQL Azure con una [prova gratuita di Altova DatabaseSpy](https://www.altova.com/it/download/databasespy/database_tool.html).
