Startseite > Azure > Migration ASP.NET Anwendung nach Windows Azure; Membership DB

Migration ASP.NET Anwendung nach Windows Azure; Membership DB

Vor kurzem hatte ich die Aufgabe eine existierende ASP.NET Anwendung welche Authentifizierung und Autorisierung über die Forms 2.0 Authentication und die in ASP.NET integrierten Controls und Funktionen verwendet nach Windows Azure zu migrieren.

In einem ersten Schritt soll die Applikation nach Windows Azure migriert werden. Auf Sicht ist die Verwendung des AppFabric ACS (Access Control Service) geplant.

Bei der Migration sollten zwei Punkte beachtet werden:

1: Erzeugung SQL Server Tabellen und Schema

Nachdem im Azure Service Portal eine neue Datenbank angelegt wurde, muss das entsprechende Datenbank Schema angelegt werden. Bei einem on-premise SQL Server übernimmt dies das mit Visual Studio installierte Tool aspnet_regsql.

aspnet_regsql

Leider kann das Tool zum Erzeugen der notwendigen Tabellen und Felder nicht verwendet werden. Auch die Migration einer existierenden on-premise Datenbank mit den bekannten Migrationstools funktioniert leider meist nicht.

Abhilfe schafft nur die manuelle Erzeugung der notwendigen Tabellen. Die notwendigen T-SQL Statements können finden sich hier eine detaillierte Anleitung findet sich ebenfalls bei MSDN.

Achtung:

Verwendet man ein lokal installiertes “Sql Server Management Studio” bzw. die entsprechende Express Edition zur Anlage der Tabellenstruktur ist darauf zu achten, dass die “R2” Version verwendet wird. Die Vorgängerversionen werfen einen Fehler beim Connect zur SQL Azure Datenbank.

2: “Trusted Security” vs. “SQL Server Login”

Viele (gerade kleinere) Anwendungen arbeiten mit einer SQL Server Datenbank Datei im App_Data Verzeichnis und damit mit „Trusted Security“ beim Login zum SQL Server.

SQL Azure kennt nun nur den “SQL Server Login”. Deshalb muss der korrespondierende Connection String (meist in der Web.config) geändert werden:

  <?xml version="1.0"?>
  <configuration>
    <connectionStrings>
      <remove name="cpHydraDB" />

      <!--Connection String with DB as attached Instance of SQL Server-->
      <!--Membership Provider-->
      <!--
	<add name="cpHydraDB" 
   	  connectionString="data source=.\SQLEXPRESS;
	  User Id=xx; Pwd=xx; 
	  Initial Catalog=C:\xx\CPHYDRA\APP_DATA\CPHYDRA.MDF" 
	  providerName="System.Data.SqlClient"/>-->

        <add name="cpHydraDB"
          connectionString="data source=xx.database.windows.net;
	  User Id=xx; Pwd=xx; 
	  Initial Catalog=aspnetdb"
          providerName="System.Data.SqlClient"/>

...

Beachtet man diese zwei Punkte, ist es ein leichtes eine existierende ASP.NET Applikation mit Membership Provider nach Windows Azure zu migrieren.

Kategorien:Azure
  1. Es gibt noch keine Kommentare.
  1. No trackbacks yet.

Schreibe einen Kommentar

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s

%d Bloggern gefällt das: