MEET Windows Azure on June the 7th

Windows Azure heb ik al op het oog sinds de CTP van de PDC’2008. Veel van mijn werkuren en daarbuiten zijn gevuld met Windows Azure! And I love it. Daarom het volgende.

Get ready to MEET Windows Azure live on June the 7th. Register to watch live (June the 7th 1PM PDT) here. Be informed by following the conversation @WindowsAzure, #MEETAzure, #WindowsAzure

And, if you want to be more social, register for the Social meet up on Twitter event, organized by fellow Azure MVP Magnus Martensson.

You don’t want to miss this event!

See you there!

MEET Windows Azure Blog Relay:



·        
Roger Jennings (@rogerjenn): Social meet up on Twitter for Meet Windows Azure on June
7th

·        
Anton Staykov (@astaykov): MEET Windows Azure on June the 7th

·        
Patriek van Dorp (@pvandorp): Social Meet Up for ‘MEET Windows Azure’ on June 7th

·        
Marcel Meijer (@MarcelMeijer): MEET Windows Azure on June the 7th

·        
Nuno Godinho (@NunoGodinho): Social Meet Up for ‘MEET Windows Azure’ on June 7th

·        
Shaun Xu (@shaunxu) Let’s MEET Windows Azure

·        
Maarten Balliauw (@maartenballiauw): Social meet up on Twitter for MEET Windows Azure on June
7th

·        
Brent Stineman (@brentcodemonkey): Meet Windows Azure (aka Learn Windows Azure v2)

·        
Herve Roggero (@hroggero): Social Meet up on Twitter for Meet Windows Azure on June
7th

·        
Paras Doshi (@paras_doshi): Get started on Windows Azure: Attend “Meet Windows Azure”
event Online

·        
Simran Jindal (@SimranJindal): Meet Windows Azure – an online and in person event, social
meetup #MeetAzure (+ Beer for Beer lovers) on June 7th 2012

·        
Michael Wood (@mikewo): Learn about Windows Azure and Chat with Experts, June 7th

·        
Shiju Varghese (@shijucv): Social meet up on Twitter for MEET Windows Azure on June
the 7th

·        
Jeremie Devillard (@jeremiedev): Meet the Cloud–Windows Azure Event 7th June

·        
Kris van der Mast (@KvdM): Get ready to meet Windows Azure

·        
Mike Martin (@TechMike2KX): Don’t miss the online Windows Azure
event of the year : MEET Windows Azure on June 7th

·        
Bill Wilder (@codingoutloud): Get ready to “Meet #WindowsAzure” in a live streamed event
June 7 at 4:00 PM Boston time

·        
Magnus Mårtensson (@noopman): Social meet up on Twitter for MEET Windows Azure on June
7th

SQL Azure en Query plans / Performance

Enige tijd geleden heb ik al de verbeterde SQL Azure management portal laten zien. In den beginne (2008) hadden we helemaal niets en Project Houston was een grote stap in de goede richting. In December 2011 hebben ze de complete SQL Azure management portal onderhanden genomen en aangepast. Naast een meer Metro look-and-feel hebben ze ook allemaal extreem helpful tools en utilities toegevoegd.

sqlazureperf1

Als je klikt op de Administration in linker beneden hoek, krijg je een overzicht van de je database health etc. Informatie over onder andere de vulling van de database, aantal connecties en users. In dit geval is de database bijna nieuw en ongebruikt, dus is de query usage bijna leeg.

sqlazureperf12

Bij een database met meer activiteiten ziet dit gedeelte van de portal en iets spannender uit. Yep, mijn SQL Azure database zijn over het algemeen niet erg druk Winking smile.

sqlazureperf14

Als je klikt op de Query Performance link, krijg je meer gedetaileerde informatie over de queries op je database en hun performance. Dit geeft natuurlijk al een eerste indruk van de overall performance van je SQL Azure instance.

sqlazureperf13

Stel dat je een probleem hebt met een bepaalde query. Ik bedoel dan natuurlijk een performance probleem Winking smile. Om dan een goed beeld van de query te krijgen heb je vaak een Query plan nodig. Vroeger had je als tool SQL Server Management Studio en een handvol SQL Azure Management views.

sqlazureperf10

Ok, dit was mooi. Maar er was ook een nadeel, er was altijd wat latency tussen de client en de SQL Azure instance etc. Niet helemaal perfect dus.

Maar nu kun je op de nieuwe portal ook query plans bekijken in de Cloud dus Winking smile. Met behulp van de portal kun je een query maken en laten uitvoeren. Nu zijn er twee opties bijgekomen. Nu zijn er RUN, Actual Plan and Estimate plan.

sqlazureperf2

Met RUN krijg je het resultaat van je query. Simpel zoals je gewend was met de Project Houston site.

sqlazureperf3

Kies je voor Actual Plan, dan krijg je een extra tab: Query Plan.

sqlazureperf4

Op deze tab vind je een grafische weergave van je query plan. En aangezien het gemaakt is met Silverlight 5 ziet het er mooier uit dan de ‘old’ SQL Server Management Studio. Wederom zijn er drie opties: Total, CPU and IO.

sqlazureperf5

sqlazureperf6

sqlazureperf7

Daarnaast kun je ook nog de details bekijken door te kiezen voor een Grid of een Tree.

sqlazureperf8

sqlazureperf9

In de grafische versie van het query plan kun je dat ook al een beetje zien, daarvoor moet je beetje spelen met het zoom level.

sqlazureperf11

Hoe mooi is dat! Er bijna geen reden meer om nog een Client tool zoals SQL Server Management Studio te gebruiken of te hebben. Bijna alles kan nu in de Cloud.

SQL Azure Reporting Preview

Wat er op het Windows Azure platform nog ontbrak, was een implementatie van SQL Server Reporting Services (SSRS). Dat betekende niet, dat reports helemaal niet mogelijk waren. Alleen was er geen service waar deze reports opgeslagen konden worden.

Met Visual Studio 2010 kun je een report (RDLC) maken en deze laten connecten naar een SQL Azure database. Door de report (RDLC) op Windows Azure storage te plaatsen, kun je de report definitie aanpassen zonder een volledige deploy van je Windows Azure service te doen.

meijerreport7

Maar nu komt SQL Azure Reporting er toch echt aan. Er was al een beperkte CTP beschikbaar, maar nu is Reporting in een echte Preview vorm beschikbaar. Wat nog niet kan, is een andere datasource kiezen dan SQL Azure. Mocht je dus behoefte hebben aan een XML source of iets dergelijks, dan zul je de RDLC oplossing richting moeten kiezen.

meijerreport1

Voor het ontwikkelen van een rapport volgt je het development traject, zoals je dat met de ‘tradionele’ SQL Reporting ook gewend bent. Je gaat aan de slag met SQL Server Business Intelligence Development Studio. Daar maak je een Reporting project en dan ga je aan de slag met de Report Wizard of maak je van scratch af aan een Report. Als je Report dan klaar is, kun je hem gewoon deployen. Uiteraard wel naar de SQL Azure Reporting server https://<server>.reporting.windows.net/reportserver. Op deze URL kun je ook een preview krijgen van het report, dat je gedeployed hebt.

meijerreport2

meijerreport3

meijerreport10

De Target Server URL is de server waar de report definitie (RDL) gedeployed gaat worden. Ten opzichte van de vorige preview kun je nu veel meer dingen regelen. De rapporten kunnen op de server netjes gegroepeerd worden door ze in verschillende folders of directories te plaatsen. Ook kun je gebruikers toevoegen en rechten uit delen. Dit maakt SQL Azure reporting erg krachtig.

meijerreport4

Op de Windows Azure portal kunnen we ook door klikken naar de directories etc. En zoals we inmiddels gewend zijn met de Windows Azure portal is er ook een rechtermuis context menu, waarbij je bepaalde acties/settings kunt doen.

meijerreport5

Tijdens de preview kon je wel naar de Report server, maar daar kun je helaas niet veel.

meijerreport6

Het rapport op de server kun je in je ASPX pagina heel eenvoudig toevoegen.

meijerreport8

Je zult natuurlijk wel de credentials voor het rapport nog goed moeten zetten, maar dan werkt het allemaal erg makkelijk.

meijerreport9

Nu staat bijna niets meer in de weg om geweldige Windows Azure applicaties te verrijken met SQL Azure reporting.

Het enige wat ik nog jammer vindt, is het ReportViewer control. Hoewel dit control erg rijk is aan functionaliteit (in een project gebruiken we deze om rapporten te saven als PDF in een WorkerRole), het control is nog wel steeds gebaseerd op oude architecturen. Het is mogelijk om de ReportViewer te gebruiken in bijvoorbeeld SilverLight, maar dan moet je altijd een uitstapje maken naar HTML of ASPX. Laten we hopen dat hier nog iets aan gedaan wordt.

SQL Azure DACPAC – import en export data

Als je net als ik de Windows Azure blog in de gaten houdt, dan heb je de mededeling over de service release van SQL Azure ook zien langs komen. Met deze update zijn er ook aanpassingen gedaan aan het SQL Azure gedeelte van de Windows Azure portal. Voorheen hadden we Houston (enige maanden geleden heb ik daar op deze blog iets over gemeld). Houston was het web tool om de database op SQL Azure instance te beheren vanuit de cloud. En dat was niet onverdienstelijk gedaan. Andere leveranciers in de markt kwamen ook met dergelijk producten.

Deze nieuwe release is het netjes maken van het tool en het uitbreiden van de portaal functies. En zoals dat nu gebruikelijk is, heeft alles een Ribbon. Dus ook de Windows Azure portal en de SQL Azure portal gedeelte ook. Op deze Ribbon zijn de meest voorkomende taken samengevoegd.

In deze post wil ik de aandacht vestigen op “Import and Export CTP” op de Ribbon. Dit klinkt erg gaaf en het lijkt op de meeste gevraagde feature. Althans als ik het goed begrijp en het gaat over import en export data. Vandaag is dat nog niet zo makkelijk te doen. Je kunt create scripts maken in SQL Server Management Studio en de data include in het script. Maar wederom foutgevoelig.

sqlazureribbon

Maar wat doen die twee items nu?

sqlazureribbonexport sqlazureribbonimport

Afhankelijk van de focus in de tree aan de linkerkant, is de een danwel de andere gehighlight.

Laten we beginnen met de Export. Met deze optie kun je een export maken van een SQL Azure instance naar een file. Dit bestand wordt dan op Windows Azure Storage geplaatst. Je moet de database selecteren (Export is gehighlight en kan geselecteerd worden), voer de credentials op en de Windows Azure storage locatie, klik daarna op finish. Daarna krijg je een pop-up, daarin staat dat het verzoek in behandeling wordt genomen.

sqlazure_export1

Het neemt enige tijd in beslag afhankelijk van de grootte van je database uiteraard. Als je dan kijkt op je Windows Azure storage, dan staat het bestand er.

storage

Als het bestand er niet staat, dan kun je op de status button klikken. Voer wederom je credentials en bekijk de regels op fouten.

sqlazure_status1sqlazure_status2

Uiteraard is de import de ander kant uit. Het bestand staat op Windows Azure storage en je specificeert waar de data naar toe geimporteert moet worden. In dit geval heb ik een nieuwe database gespecificeerd en die wordt dan gemaakt. Maar als je een reeds bestaande database opgeeft lukt het ook.

sqlazure_import1

Dat is gaaf! Bijna een echte backup facitliteit. Maar het wordt nog mooier.

Nu willen we natuurlijk een export maken van een locale database en deze importeren in een SQL Azure instance!

Yep, ook mogelijk. Kijk op deze site voor de info http://www.sqlazurelabs.com/ImportExport.aspx en met dit tool DAC Import Export Client-side Tools V 1.1 op http://sqldacexamples.codeplex.com/ kun je het voor elkaar krijgen.

Start het tool met de juiste options, zet het bestand op Windows Azure storage en activate de import zoals hierboven beschreven.

localbacpac1

En je SQL Azure database heeft on premise data. Dat is nog gaver!

In het komende SDN Cloud special magazine hebben we een article hierover.

SQL Azure development met tooling ‘Juneau’

Als je op dit moment ontwikkelt voor SQL Azure dan mis je een paar handige tools. De tooling die ook gebruikt als je voor SQL Server 2008 R2 aan het ontwikkelen bent.

In SQL Server Management Studio als je geconnect bent naar SQL Server 2008 R2 en je wilt een tabel maken, dan is er dat handige UI dingetje.

sql1

Maar als je geconnect bent naar SQL Azure met SQL Server Management Studio dan krijg je alleen de syntax te zien voor het create table statement.

sql2

Maar ik heb niet altijd genoeg aan de syntax Winking smile. Ik gebruik liever dan UI ding. Oke, je kunt ook zonder natuurlijk; maak de tabelen in SQL Server 2008 R2, script de Database objects voor SQL Azure, draait het script op de SQL Azure instance en ga verder. Maar er zijn nogal wat stappen en dus ook punten waar het mis kan gaan. Vanuit Visual Studio kun je ook connecten naar SQL Server of SQL Azure met de Server Explorer. Maar het maken van objecten voor SQL Azure is niet supported.

sql3

Maar er is hulp op komt! Op dit moment wordt er hard aan gewerkt om Denali te ontwikkelen en op dit moment is hij in CTP3. Met deze nieuwe versie van SQL Server komt ook de Juneau tools en tooling, deze maken het UI ding in de Server Explorer van Visual Studio voor SQL Azure weer mogelijk. Ontwikkelaars kunnen dan dus weer gebruik maken van ‘wizards’.

sql4

Ok, DBA’s moeten het nog doen met de syntax. Maar dat vinden zij dan weer mooi Winking smile.

SQL Azure versions

Enige maanden geleden stond er op de Windows Azure blog de announcering van de SQL Azure Juli service release.

http://blogs.msdn.com/b/windowsazure/archive/2011/07/13/announcing-sql-azure-july-2011-service-release.aspx

In deze blogpost werd gewaarschuwed dat de live versie van SQL Azure geupdate werd. Om gebruik te blijven maken van SSMS (Sql Server Management Studio) werd aangeraden om een aantal SQL Server 2008 R2 updates te doen. Na deze update zou je nu en later niets moeten merken.

Dat zo’n update over de Windows Azure datacenters even duurt heb ik zelf mogen zien. Ik heb twee SQL Azure database, eentje in Europe Dublin en eentje in Europe Amsterdam. Tijdens de upgrade periode vroeg ik op beide servers de versie op en deze liep uiteen. Dublin was verder dan Amsterdam. Helaas ben ik de screenshot van deze situatie kwijt.

Uiteraard zou het zo moeten zijn, dat je niets merkt van de upgrade van de onderliggende software. Dat is nou juist de belofte van Windows Azure als een platform. Maar als ontwikkelaar moet je dan wel goed nadenken, hoe je dit opvraagt. Je kent dat nog wel, vroeger had je spelletjes die specifieke cpu en video nodig hadden en waren niet bruikbaar als je een versie hoger of een gelijksoortige versie van een cpu had. Heel iiritant. Deze blogpost geeft een tip om op te vragen of je op SQL Azure zit of SQL Server 2008 R2.

http://blogs.msdn.com/b/windowsazure/archive/2011/08/25/checking-your-sql-azure-server-connection.aspx

Uiteindelijk hebben sommige producten en bedrijven last gehad van de upgrade van de software. Redgate (Leverancier van SQL en SQL Azure producten) heeft er last van gehad en bij een klant (we maken gebruik van de Redgate software) van ons hadden we er ook last van.

Inmiddels is de update/upgrade afgerond, dus was het tijd om eens te kijken naar de versie nummers op SQL Azure.

sqlversie

Lokaal had ik natuurlijk SQL Server 2008 R2, dat is het onderste gedeelte van het plaatje. Zoals je ziet, is de Cloud versie duidelijk hoger. En wat nog grappiger is, het is zelfs hoger dan de laatste CTP (CTP3) van Denali.

sqlversie2

Dit zijn wel de eerste tekenen, dat nieuwe versies van software eerst in de Cloud beschikbaar zijn en pas later op een DVD in de winkel of electronisch te downloaden.

“That is the power of Cloud!”

SQL Azure Reporting

Wat er op dit moment in de Windows Azure nog ontbreekt zijn mogelijkheden voor BI. Daar wordt nog hard aan gewerkt. Wel is inmiddels Reporting in CTP vorm beschikbaar. Het is nog duidelijk een vroege versie, maar het ziet er wel goed uit. Een aantal dingen die nog niet kunnen:

  • Als DataSource kan alleen nog gekozen worden SQL Azure, geen XML source of iets dergelijks
  • Reports kunnen alleen toegevoegd worden of geupdate, voor het verwijderen is nog geen interface voor.

clip_image002

Voor het Developen van een rapport volgt je het development traject, zoals je met de ‘tradionele’ SQL Reporting gewend bent. Je gaat aan de slag met SQL Server Business Intelligence Development Studio. Daar begin je een Reporting project en dan ga je aan de slag met de Report Wizard of maak je van scratch af aan een Report. Als je Report dan klaar is, kun je hem gewoon deployen. Uiteraard wel naar de SQL Azure Reporting server, in mijn geval: https://rsprdoctpxxxx.ctp.reporting.database.windows.net/reportserver. Op deze URL kun je ook een preview krijgen van het report, dat je gedeployed hebt.

clip_image004

De properties van je report.

clip_image005

‘gewoon’ deployen

clip_image007

Inloggen op de ReportServer.

clip_image008

Het bekijken van je reports op de ReportServer.

SQL Azure – OLEDB en SQL .NET library

Er is een verschil in het gebruik van de verschillende Database Client libraries om te connecten met SQL Azure.

sqlole1

Als je bovenstaande fout krijgt, dan moet je eens naar je connectionstring kijken. Als je bij de UID niet de naam van SQL Azure server hebt toegevoegd, dan krijg je de foutmelding.

Voor de SQL Server Client libraries gaat het goed, maar bij OleDb gaat het fout.

sqlole3

sqlole2

Het is dan ook handiger om altijd de Servernaam op te nemen na de Username.

Windows Azure – Data Sync

Hoewel er nog geen standaard manier voor Backup en Restore van SQL Azure is, zijn er inmiddels wel mogelijkheden om iets dergelijks op te zetten. Een discussie over Backup en Restore ga ik hier nu niet houden. Voor Azure storage zul je nog steeds iets zelf moeten bouwen.

Met Data Sync kun je je data van een SQL Server database geautomiseerd en gescheduled kopieren naar een andere database. Ik heb dat ook eens uitgeprobeerd.

Allereerst heb ik een nieuwe SQL Azure database aangemaakt op mijn Azure account.

sync1

Daarna ga je naar SQL Azure Data Sync site en daar moet je soort Wizard doorlopen. Tijdens deze Wizard geef je naam voor de Sync group, de credentials voor de SQL Azure en welke tabellen je wilt syncen.

sync2

In mijn voorbeeld heb ik gekozen voor de tabel met alle verjaardagen en gebeurtenissen in mijn familie en vriendenkring. Nadat je de Wizard hebt doorlopen, zul je zien dat in de SQL Azure database een aantal tabellen zijn toegevoegd.

sync3

Helaas verandert er op deze tabel niet zoveel, dus moest ik iets verzinnen om de Data Sync een beetje nut te geven. Op mijn test webpage van de vorige blogpost heb ik een button gemaakt waarmee je rijtje aan de tabel toevoegt. Met een Data Sync schedule wordt dan dagelijks een kopie van de data naar de andere database gezet.

sync4

Aangezien dit een background proces is, moet je dus op een of andere manier kunnen controleren of er daadwerkelijk een sync heeft plaats gevonden.

sync5

Bovenstaande plaatje is gemaakt voordat de Sync schedule is uitgevoerd. Uiteraard is er ook een Dashboard om zien welke Sync groups uitgevoerd zijn.

sync9

sync10

Bijvoorbeeld van de test schermen:

sync6

sync7

sync8

Zoals gezegd, ik kan mij verschillende scenario’s voorstellen waarbij Data Sync interessant is. Of dat perse ook voor een Backup en Restore scenario geldt, dat betwijfel ik.

Met deze CTP kun je binnen SQL Azure van de ene naar de andere database syncen. Met de volgende CTP kun je ook syncen naar een SQL Server on premise. Dat zou voor product tabellen etc erg interessant kunnen zijn.