Datenbank via Script erzeugen - Berechtigungen?

07/05/2009 - 14:47 von Roger Jordan | Report spam
Hallo,

ich möchte in einer ASP.NET Anwendung eine Datenbank auf einem SQL Server
erzeugen.

Das TSQL-Srict das ich dazu verwende funktioniert einwandfrei wenn ich es im
SQL Server Management Studio verwende.

Wenn ich das Script aber aus dem Programm (Website) starte geht es nicht. Es
handelt sich dabei wohl um ein Berechtigungsproblem. Das Management Studio
làuft unter meinem Benutzeraccount und darf alles. Die Anwendung làuft unter
dem Account 'NBRJ01\ASPNET'. Im der Ereignisanzeige unter Anwendung ist dann
zu finden: "Fehler bei der Anmeldung für den Benutzer 'NBJR01\ASPNET'

Die Anwendung baut eine Verbindung zur Database 'master' auf um die neue DB
per Script zu erzeugen.
ConnectionString: DataSource=LocalHost\SQLEXPRESS; Initial Catalog=master;
Integrated Security=true

Welche Berechtigung muss dem User 'NBRJ01\ASPNET' gegeben werden? Und wo?

Ich habe den User bereits unter "Sicherheit-Anmeldungen" und unter
"Datenbanken-Systemdatenbanken-master-Sicherheit-Benutzer" eingetragen,
leider ohne sichtbaren Erfolg.

Danke für die Hilfe
Roger
 

Lesen sie die antworten

#1 Stefan Falz [MVP]
07/05/2009 - 15:41 | Warnen spam
Hallo Roger,

"Roger Jordan" schrieb:

ich möchte in einer ASP.NET Anwendung eine Datenbank auf einem SQL Server erzeugen.



das ist aber sicherheitstechnisch nicht unbedingt die beste Wahl.

Die Anwendung baut eine Verbindung zur Database 'master' auf um die neue DB per Script zu erzeugen.
ConnectionString: DataSource=LocalHost\SQLEXPRESS; Initial Catalog=master; Integrated Security=true



Warum verbindest Du dich nicht mit einem separaten SQL Benutzer? Das ist für
Onlineanwendungen meist sinnvoller.

Welche Berechtigung muss dem User 'NBRJ01\ASPNET' gegeben werden?



Gar keine. Zumindest nicht für diese Anforderung. Du solltest für die Anlage
der Datenbank ein Eingabeformular verwenden, in das der Benutzer Username
und Passwort eingeben kann (alternativ schreib die Daten verschlüsselt in die
web.config und lies sie dann dort aus). Der betreffende Account braucht für
die Anlage einer Datenbank natürlich entsprechend weitgreifende Berechtigungen.

[Zitat aus http://msdn.microsoft.com/de-de/lib...76061.aspx]
| Erfordert die Berechtigung CREATE DATABASE, CREATE ANY DATABASE oder
| ALTER ANY DATABASE.

Ich habe den User bereits unter "Sicherheit-Anmeldungen" und unter "Datenbanken-Systemdatenbanken-master-Sicherheit-Benutzer"
eingetragen, leider ohne sichtbaren Erfolg.



Wie gesagt, es macht keinen Sinn, dem ASPNET User soviele Rechte zu geben.

Tschau, 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

Ähnliche fragen