Re: ASPNETDB.MDF außerhalb von App_Data
- From: "Henry Habermacher [MVP Access]" <DontSpamHenry@xxxxxxxxxxxxxx>
- Date: Thu, 22 Jun 2006 13:27:15 +0700
Hallo Frank
quoting Frank:
Bei meinem Webhoster gibt es ein Verzeichnis write, in dem alle
Dateien hineinsollen, auf denen man Schreibrechte braucht, so auch
die Datenbanken, also auch ASPNETDB.MDF.
Ich benutze die Benutzerverwaltung von ASP.Net 2.0. Wenn ich auf
meinem lokalen Rechner die ASPNETDB.MDF in einem Verzeichnis App_Data
habe, funktioniert alles wunderbar. Wenn ich dieses Verzeichnis aber
in write umbenenne, funktioniert es nicht mehr und auch im
Server-Explorer des Visual Studios wird die Datenbank nicht mehr
angezeigt.
Gibt es eine Einstellung, damit die Application erkennt, dass die
Datenbank in einem anderen Verzeichnis liegt und auch im
Server-Explorer wieder angezeigt wird.
Du kannst nicht einfach das Verzeichnis einer SQL Server Datenbank ändern. Dann findet der SQL Server die Datei nicht mehr, welche er immer noch im alten Verzeichnis sucht. Du musst dann dem SQL Server das Verzeichnis bekannt geben, in welchem die Datenbank liegt.
Am besten hängst Du die Datenbank vorgängig ab (Detach).
Beispiel für ein Script (Den Namen ASPNETDB musst Du anpassen):
USE [master]
GO
EXEC master.dbo.sp_detach_db @dbname = N'ASPNETDB', @keepfulltextindexfile=N'true'
GO
Dann verschiebst Du alle Dateien, die dazu gehören (MDF, LDF) in das write Verzeichnis.
Und nun hängst Du diese Datenbank vom neuen Verzeichnis wieder im SQL Server.
USE [master]
GO
CREATE DATABASE [ASPNETDB] ON
( FILENAME = N'C:\write\ASPNETDB.mdf' ),
( FILENAME = N'C:\write\ASPNET_log.ldf' )
FOR ATTACH
GO
Auch hier musst Du natürlich die Jobs wieder anpassen. Ich weiss nicht, wie der relative Pfad aussehen muss, damit das bei Dir und auf dem Server funktioniert.
Nun sollte der SQL Server wissen, wo das Verzeichnis für die Datenbank liegt.
Am einfachsten geht das, wenn Du das im SQL Server Management Studio oder im Server Explorer machst, ohne dafür Jobs aufzusetzen.
Noch was anderes: Eigentlich sollte es die Anwendung nicht interessieren, in welchem Verzeichnis der SQL Server seine Dateien ablegt. Diese greift ja nicht auf die Dateien zu, sondern überlässt das dem SQL Server. So gesehen kannst Du bei Dir problemlos ein anderes Verzeichnis verwenden als auf dem Ziel Server. Dort muss nicht die Anwendung entsprechend konfiguriert werden, damit diese das richtige write Verzeichnis benutzt, sondern der SQL Server. Diesem muss unter dem gewünschten Namen die Datenbank in diesem Verzeichnis attached werden.
Gruss
Henry
--
Keine E-Mails auf Postings in NGs senden!
Don't send e-mails to postings in newsgroups!
KB: http://support.microsoft.com/default.aspx
FAQ: http://www.donkarl.com (neu mit Suchfunktion!)
OH: Online Hilfe von Microsoft Access (Taste F1)
Downloads: http://www.dbdev.org
.
- Follow-Ups:
- Re: ASPNETDB.MDF außerhalb von App_Data
- From: Frank
- Re: ASPNETDB.MDF außerhalb von App_Data
- Prev by Date: Re: 1.1 -> 2.0 wieso wird Page_Load ausgeführt?
- Next by Date: IHttpModule - Seiten werden nicht mehr korrekt angezeigt
- Previous by thread: Re: Wie im selbstbelegten GridView navigieren?
- Next by thread: Re: ASPNETDB.MDF außerhalb von App_Data
- Index(es):
Relevant Pages
|