none
Benutzerverwaltung mit aspnetdb.mdf / Fehler beim Anfügen... RRS feed

  • Frage

  • Hallo!

    Nach dem Veröffentlichen einer Webanwendung, die die standardmäßige Benutzer- und Rollenverwaltung mittels aspnetdb.mdf verwendet, erhalte ich beim Aufruf der Webanwendung den Fehler

    "Fehler beim Anfügen einer automatisch benannten Datenbank für die Datei [pfad]\aspnetdb.mdf. Eine Datenbank mit diesem Namen ist bereits vorhanden, die angegebene Datei kann nicht geöffnet werden, oder sie befindet sich in der UNC-Freigabe."

    Bei dem Zielsystem handelt es sich um einen Windows Server 2003, SP2 mit .NET 4 und IIS 6. Der zugehörige ConnectionString lautet

    "Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\aspnetdb.mdf;Persist Security Info=True;Integrated Security=SSPI;User Instance=True"

    Wenn ich die Verzeichnissicherheit der Webanwendung so konfiguriere, dass
    1. anonym zugegriffen werden kann und dieser anonyme Zugriff serverseitig auf einen Benutzer X abgebildet wird und
    2. Die Anwendung im Sicherheitskontext dieses Benutzers X ausgeführt wird (Impersonation),
    dann funktioniert der Zugriff.

    Auf einem weiteren Zielsystem habe ich ggf. nicht die Möglichkeit, so vorzugehen. Deshalb würde mich eine Möglichkeit interessieren, die integrierte vorkonfigurierte datenbankgestützte Benutzerverwaltung ohne Impersonation und dedizierte Benutzerkonten zu verwenden!

    Ich freue mich über alle Ideen!

    Viele Grüße

    Björn

    Mittwoch, 3. August 2011 01:30

Antworten

  • Hallo Björn,

    "Fehler beim Anfügen einer automatisch benannten Datenbank für die Datei [pfad]\aspnetdb.mdf. Eine Datenbank mit diesem Namen ist bereits vorhanden, die angegebene Datei kann nicht geöffnet werden, oder sie befindet sich in der UNC-Freigabe."

    SQL Server Benutzerinstanzen sind für Webanwendungen keine Option. Leg die Datenbank fest im SQL Server an und spiel deine Struktur und die Daten dort ein. Wenn Du entsprechende Berechtigungen hast, kannst Du die Datenbankdatei(en) auch über das SSMS anfügen.

    Bei dem Zielsystem handelt es sich um einen Windows Server 2003, SP2 mit .NET 4 und IIS 6. Der zugehörige ConnectionString lautet

    "Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\aspnetdb.mdf;Persist Security Info=True;Integrated Security=SSPI;User Instance=True"

    Wie gesagt: Binde die Datenbank in den SQL Server ein und pass den ConnectionString dann entsprechend an.

      SERVER=127.0.0.1\<Instanzname>;UID=<User>;PWD=<Passwort>;DATABASE=<Datenbankname>

    Bei anderen Zielsystemen, auf die Du keinen Rootzugriff hast, musst Du dir halt vom Provider eine Datenbank erstellen lassen, in die Du dann deine Struktur und die Daten einbaust.



    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET
    http://www.asp-solutions.de/ - Consulting, Development
    http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community
    • Als Antwort markiert Björn Jepsen Mittwoch, 3. August 2011 08:51
    Mittwoch, 3. August 2011 05:23
    Moderator