Die gehoste assembly is al meteen een heet hangijzer. Windows Azure SQL Database ondersteunt geen gehoste assemblies. Die zal er dus uit moeten. Deze assembly is destijds gemaakt om stringmanipulaties uit te kunnen voeren die in T-SQL nogal lastig zijn. Gelukkig niet onmogelijk en na enig gepeuter zijn die routines nu overbodig.
Windows Authenticatie zal er ook uit moeten. Eigenlijk zijn er alleen maar applicaties die de database aanspreken, te weten de invoerapplicatie, een importmodule en de dataservices. De dataservices hebben een eigen login die alleen mag lezen. De invoerapplicatie heeft ook een eigen login. De gebruikers van de invoerapplicatie worden afgehandeld via Access Control Service (ACS), die de data van een aantal Identity Providers, zoals Live ID, Google, Yahoo en Facebook, netjes naar claims transformeert. Zij zijn dus niet geregistreerd in de database als logins, scheelt alweer een slok op een borrel. De import heeft dezelfde rechten nodig als de invoerapplicatie. Die kunnen dus delen. Kort samengevat, de logins kunnen er dus uit en dienen later in Windows Azure SQL Database opnieuw te worden aangemaakt.
Een andere zaak om rekening mee te houden is de Clustered Index. Windows Azure SQL Database eist dat iedere tabel een clustered index heeft. BesteProduct heeft een paar tabellen die dat niet hebben, maar dat euvel is zo verholpen.
Tijd om te beginnen met het exporteren van het database schema. In Sql Server Management Studio (SSMS) selecteer je de database en via het contextmenu selecteer je "Tasks->Generate Scripts...". Dit levert het scherm in afbeelding 1 op. Op zich kun je weinig met dat scherm, dus snel naar het volgende scherm (afbeelding 2). Hier wordt het interessant. Default wil de tool de hele database scripten. Deze optie is niet handig om te kiezen. Het geeft teveel instructies en voor je het weet ben je uren aan het knoeien in dat script om het compatible met Windows Azure SQL Database te krijgen. Kies dus voor "specific database objects" en daarna de zaken die ook echt nodig zijn.
![]() |
Afbeelding 1. Generate and Publish Scripts |
![]() |
Afbeelding 2. Wat te scripten? |
![]() |
Afbeelding 3: Bestandsinformatie |
![]() |
Afbeelding 4: Belangrijk scherm |
Let verder op de opties Triggers en Indexes. Ze kunnen in de weg zitten wanneer je data gaat importeren, dus wellicht in een apart script opslaan.
Vervolgens krijg je de samenvatting uit afbeelding 5 met daaropvolgend het resultaat van de scriptgeneratie (afbeelding 6). Hopelijk zijn alle bolletjes groen.
![]() |
Afbeelding 5: De samenvatting |
![]() |
Afbeelding 6: alles goed. |
![]() |
Afbeelding 7: Landingspagina SQL Azure |
![]() |
Afbeelding 8: Het schema |
![]() |
Afbeelding 9. First Level dependencies |
De volgende stap in het migratietraject is het importeren van de data.
Geen opmerkingen:
Een reactie posten