SQL Azure Backup

Tijdens mijn praatjes over SQL Azure kwamen er vragen over hoe je SQL Azure zou kunnen backuppen. Er zijn op dit moment nog geen tools beschikbaar en in de help van SQL Azure staat dat je SQLCMD kunt gebruiken.

In Microsoft SQL Server Management Studio heb je bij een normale Database een menu item Tasks met daaronder Backup.

backup1

Maar dit menu is niet aanwezig bij een SQL Azure database.

backup2

Maar goed SQLCMD zou het moeten zijn, dus dat heb ik ook eens geprobeerd. De overige Microsoft SQL Server versies hebben allemaal een BACKUP DATABASE commando. Dus deze wilde ik ook gebruiken. Maar helaas dit commando wordt niet ondersteund.

SqlAzureBackup

Als dit commando niet ondersteund wordt, dan blijft er niet veel over. De enige optie lijkt dan nog SSIS te zijn. Dan blijf je nog wel een probleem te hebben met timing, zeker als de data in de tabellen van je database samenhang hebben (en wanneer is dit niet het geval).

Ik hoop dat ze Backup en Restore toch nog gaan toevoegen voordat het echt productioneel wordt. Het lijkt mij niet handig om deze optie niet te hebben.

UPDATE (21:25): Je kunt ook het Sync Framework Power Pack for SQL Azure tool gebruiken. Daarmee kun je data van de SQL Azure database synchroniseren met je lokale SQL Server database. Enig nadeel aan dit tool is, dat er op dit moment alleen een 32 bits variant is.

SQL Azure en Azure: Data Near / Data Away voorbeelden

Tijdens mijn voorbereidingen voor mijn praatje op het CodeCamp en het SDN event had ik twee demo’s in gedachten. Een demo waarbij de applicatie lokaal bij de gebruiker staat en de database een SQL Azure database is. En een demo waarbij de applicatie op Microsoft Azure draait en gebruik maakt van een SQL Azure database.

De Data Away demo (Applicatie lokaal en Data in de Cloud) ging gemakkelijk. Op de SQL Azure homepage zet je de firewall settings dat je jouw ip adres bij de SQL Azure database kan.

sqla_fwms1

Voor de Data Near (Applicatie en Data in de Cloud) had dat toch meer voeten in de aarde. Tijdens het ontwikkelen maak je gebruik van de Development fabric en dan gelden de Firewall regels voor Home. Vervelend is het dan ook als je na het deployen van je Azure applicatie het volgende scherm ziet.

sqla_fwms2

Je gaat dan op zoek in de documentatie van SQL Azure en daar staat dat je het vinkje “Allow Microsoft Services access to this Server” moet aanzetten. Tijdens mijn voorbereidingen leek dat niet te werken en moest ik het IP adres van de Azure cloud in de Firewall settings op te nemen.

sqla_fwms3

Dat wilde ik toch even een keer controleren. Dat het vinkje niet werkte, dat leek mij een bug te zijn. Dus heb ik het IP adres van de Azure cloud uit de Firewall setting gehaald en zie hier het werkte gewoon.

sqla_fwms4

Het bleek dus gewoon een bugje te zijn.

Het ontwikkelen voor de Cloud is lastig qua testen. Het deployen van een Cloud applicatie neemt nogal wat tijd in beslag. Bij de eerdere Azure versies was het zo, dat als de Azure beheer pagina aangaf klaar te zijn, dit in werkelijkheid nog niet zo was. Het deployen is nu wel een beetje veranderd, daarover later meer.

En als je dan gebruik maakt van een SQL Azure database, dan moet je dus wetenschap houden met het Microsoft Services vinkje.

SQL Azure Command Timeout

Vandaag tijdens mijn sessie over SQL Azure vertelde ik dat queries maar een beperkte tijd mogen duren. Na mijn sessie heb ik dat toch maar eens uitgeprobeerd.

Ik heb een stored procedure gemaakt. Deze stored procedure heeft hele interessante business logica en deze duurt minimaal 10 minuten.

timeout303

Op de Command heb ik daarnaast ook de Command Timeout gezet op oneinding.

timeout301 

Wat blijkt met deze instellingen kun je de timeout oprekken.

timeout30

SQL Azure Examples

Afgelopen zaterdag tijdens de CodeCamp heb ik een presentatie gehouden over SQL Azure. Daar hoorde twee voorbeeld applicaties bij. Er zijn namelijk twee mogelijkheden om de SQL Azure database te gebruiken:

  1. Data Far Away: de applicatie draait bij de gebruiker op zijn werkstation en de database staat in de Cloud.
  2. Data Nearby: de applicatie en de database draaien allebei in de Cloud.

Bij het eerste demo had ik een applicatie waarbij ik ook het inserten, updaten kun laten zien.

sqlazurefaraway

Voor de twee demo had ik ongeveer dezelfde applicatie. Maar doordat ik tegen wat issues aanliep en de deadline rap naderde, heb ik er niet teveel werk van gemaakt. Maar eigenlijk schaamde ik mij wel voor de applicatie.

sqlazurenearbyprev

Dus heb ik hem gisteravond toch maar even aangepakt en aangepast. Tenslotte geef ik 14 december deze presentatie nog een keer.

sqlazurenearby

Dat ziet er toch al een stuk beter uit 😉

Je mag ook kijken op http://marcelmeijer.cloudapp.net. Als er geen rijtjes meer zijn, dan heeft iemand ze allemaal weggegooid 😉

Azure en Visual Studio 2010

Toen Visual Studio 2010 beschikbaar kwam ontbraken de onderdelen om Azure Cloud services te maken. Maar inmiddels zijn deze tools beschikbaar gekomen. Deze zijn te downloaden vanaf http://tinyurl.com/yzj3k96/.

Daarnaast is bekend geworden dat Azure vanaf 2010 beschikbaar komt. Developers met een MSDN account krijgen afhankelijk van hun MSDN account level de beschikking over een eigen Azure development omgeving.

Ook het Dallas initiatief lijkt erg handig. Je kunt dan een gegevensset beschikbaar maken voor het grote publiek. Een typische toepassing lijkt mij een Postcode boek etc. Maar laten we wel zijn, is dat echt nieuw? Dat was ook ooit de belofte voor Component based Development? Generieke software/componenten konden dan aangeboden worden aan het publiek.