---
title: "Het verbinden van DatabaseSpy met een SQL Azure-database in de cloud"
date: "2010-07-01"
tags: 
  - "database-tool"
  - "databasespy"
  - "sql-server"
  - "tech-ed"
description: Ontdek hoe u DatabaseSpy kunt verbinden met een SQL Azure-database, hoe u migraties kunt beheren en hoe u veelvoorkomende problemen kunt oplossen die zich voordoen tijdens de integratie met clouddatabases.
---
Status: #blog

Tags:  #database-tool #databasespy #sql-server #tech-ed

Categories: [Altova](/blog/nl/category/altova.md) 
# Het verbinden van DatabaseSpy met een SQL Azure-database in de cloud

Tips en technieken om de implementatie van Microsoft's cloud-gebaseerde SQL Azure-database in productieomgevingen te vereenvoudigen, stonden in juni centraal op de Tech-Ed conferentie in New Orleans. SQL Azure is gebaseerd op Microsoft SQL Server-technologieën en is ontworpen om een zeer beschikbare en schaalbare database-service te bieden, gehost door Microsoft in de cloud. Ontwikkelaars die databases in SQL Azure implementeren, hoeven geen relationele database-software te installeren, configureren, updaten of beheren, alleen hun eigen database structuur en inhoud. Automatische redundantie en fouttolerantie zijn ingebouwd en er is geen fysiek beheer vereist. 

U kunt een handmatige verbindingsstring configureren en SQL Server-syntaxis en -datatypen gebruiken om [DatabaseSpy](https://www.altova.com/nl/databasespy.html) en [andere Altova-tools](https://www.altova.com/nl/solutions/database-tools.html) te verbinden met SQL Azure-databases, zodat u typische databaseontwikkelings- en onderhoudstaken kunt uitvoeren. Deze blogpost laat zien hoe u een verbinding kunt maken met een SQL Azure-database vanuit DatabaseSpy, en demonstreert verschillende typische bewerkingen die u wellicht wilt uitvoeren tijdens het migreren van een bestaande database naar de cloud. Om deze stappen zelf te volgen, heeft u een SQL Azure-account nodig, of een gebruikersnaam en wachtwoord die zijn aangemaakt door iemand met een SQL Azure-account. Voor meer informatie over het aanmaken van een SQL Azure-account, kunt u de Microsoft [SQL Azure-startpagina](http://msdn.microsoft.com/en-us/azure/sqlazure/default.aspx) bezoeken. U moet ook de [SQL Server Native Client 10.0](http://msdn.microsoft.com/en-us/library/ms131321.aspx) (of een nieuwere versie) installeren. SQL Azure gedraagt zich niet precies hetzelfde als een lokale SQL Server-database, dus we kunnen de Altova SQL Server-verbindingstool niet gebruiken. In plaats daarvan zullen we een ODBC-verbinding gebruiken. 

[![DatabaseSpy ODBC-verbindingdialoogvenster](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) 

We zullen hier niet alle details van het proces om een nieuwe verbindingsstring aan te maken beschrijven. U kunt een bestaande verbindingsstring in het bovenstaande dialoogvenster plakken.

Nadat u voor de eerste keer verbinding maakt met SQL Azure, stelt een DatabaseSpy-projectbestand u in staat om al uw verbindingsinstellingen, samen met vaak gebruikte SQL-scripts, databaseontwerpbestanden en databasevergelijkingen, op te slaan in een handig archief dat u later kunt herladen. De onderstaande screenshot toont een nieuw DatabaseSpy-project met twee databases die tegelijkertijd zijn verbonden: Sakila in MySQL en Sakila in de cloud via SQL Azure. 

[![Hulpmiddelvenster voor het DatabaseSpy-project](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 biedt een aantal conversietools om gebruikers te helpen bij het migreren van bestaande databases naar het SQL Azure-platform. We hebben de Microsoft [SQL Server Migration Assistant for MySQL](http://www.microsoft.com/downloads/details.aspx?FamilyID=0e6168b0-2d0c-4076-96c2-60bd25294a8e&displaylang=en) gebruikt om onze lokale MySQL Sakila-voorbeelddatabase om te zetten naar ons SQL Azure-account. DatabaseSpy stelt gebruikers in staat om tegelijkertijd meerdere verbindingen te openen, zelfs met databases van verschillende types. De functionaliteit voor databasevergelijking van DatabaseSpy maakt het een ideaal hulpmiddel om de resultaten van de Sakila-conversie te controleren. Eerst openen we een database-schemavergelijking en selecteren we een paar tabellen uit de MySQL-database voor de linkerkant van de vergelijking. 

[![Vergelijkingsdialoog voor DatabaseSpy (selectie)](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) 

Nadat we de overeenkomstige tabellen hebben geselecteerd uit de SQL Azure-versie, worden deze tabellen geopend in een venster voor het vergelijken van databaseschema's. 

[![DatabaseSpy: Vergelijking van databasestructuren](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) 

Wanneer we op de groene knop "Vergelijken" in de linker bovenhoek van het venster klikken, vergelijkt DatabaseSpy de database structuren, markeert de verschillen en genereert een samenvatting in het berichtenvenster. 

[![DatabaseSpy: Schemavergelijking met weergave van verschillen](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) 

Sommige verschillen betreffen datatype-definities die variëren tussen databases. Zo heeft het MySQL-type "unsigned small int" geen exacte equivalent in SQL Server, dus het conversietool heeft het "int"-type gebruikt voor de kolom "film_id" in de tabel "film". Bovendien is het datatype "year" dat is toegewezen aan de kolom "release_year" in MySQL, omgezet naar een "smallint" in SQL Azure. Ik vermoed dat dit de SQL Azure-versie van de database beter toekomstbestendig maakt, omdat deze films kan verwerken die zijn uitgebracht tot en met het jaar 32.767, in tegenstelling tot 2155, wat de maximale waarde is van het datatype "year" in MySQL! We kunnen de gegevens in de twee databases vergelijken via een selectie in het contextmenu bij een rechtermuisklik, waarbij de geselecteerde tabellen worden geopend in een nieuw venster voor gegevensvergelijking. 

[![Contextmenu voor DatabaseSpy: Vergelijking](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) 

De vergelijking van de gegevens laat zien dat de inhoud van de tabellen niet identiek is. 

[![Vergelijking van de inhoud van 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) 

Wanneer we het resultatenvenster openen, zien we dat de kolom met de beschrijving niet correct is overgezet. 

[![Vergelijking van de inhoud van DatabaseSpy met de resultaten](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) 

Als we terugkijken naar het venster voor het vergelijken van databaseschema's, zien we dat de lengte van de kolom "omschrijving" was ingesteld op nul. Dit verklaart de rode pijlen die in het resultatenvenster van de kolom "omschrijving" in MySQL naar de kolom "omschrijving" in SQL Azure wijzen. We kunnen geen enkele tekst in een kolom kopiëren waarvan de lengte is ingesteld op nul. Laten we in plaats daarvan de SQL Azure-versie van de tabel "film" openen in een nieuw ontwerpvenster. 

[![DatabaseSpy: Grafische ontwerpweergave](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) 

We kunnen de grootte van het beschrijvingsveld in het eigenschappenvenster vergroten en vervolgens het resulterende wijzigingsscript uitvoeren. 

[![DatabaseSpy: Hulpmiddelvenster voor grafische ontwerpinstellingen](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 voor het wijzigen van de database structuur in 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) 

Vervolgens, wanneer we de datavergelijking opnieuw uitvoeren, zien we dat de data weliswaar is omgezet, maar dat de eerder ingestelde veldlengte van nul ervoor zorgde dat de data niet zichtbaar was. 

[![Vergelijking van de inhoud van DatabaseSpy met de resultaten](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) 

**Problemen met vertraging** U kunt DatabaseSpy gebruiken om problemen met vertraging te onderzoeken, zowel voor de cloud-database als voor de lokale kopie. Uit de bovenstaande datavergelijking bleek dat de tabellen met filmgegevens in beide databases 1.000 rijen identieke gegevens bevatten. We kunnen herhaaldelijk SELECT-statements uitvoeren om de gegevens op te halen uit SQL Azure en uit de lokale MySQL-database, om de resultaten te vergelijken en de tijdsduur te meten. Het berichtvenster van de DatabaseSpy SQL-editor toont de uitvoeringstijd. 

[![Uitvoeringstijd van SQL Azure-query's](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) 

Het uitvoeren van de bovenstaande SELECT-query vijf keer achter elkaar op de SQL Azure-versie van de Sakila-database resulteerde in resultaten variërend van 60.632 seconden tot 63.851 seconden. Het uitvoeren van dezelfde SELECT-query voor dezelfde tabel met filmgegevens in de lokale MySQL-database gaf het volgende resultaat: 

[![Uitvoeringstijd van SQL Server-query's](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) 

Het herhalen van de test voor de lokale versie resulteerde in vergelijkbare resultaten. Voor ontwikkelaars is de belangrijkste conclusie dat uw applicatie, die gebruikmaakt van een database, waarschijnlijk rekening moet houden met vertragingen wanneer u uw data naar de cloud verplaatst. Probeer zelf uw verbinding met SQL Azure met een [gratis proefversie van Altova DatabaseSpy](https://www.altova.com/nl/download/databasespy/database_tool.html).
