Zugriff auf Datenbank nur als Administrator
-
Mittwoch, 11. Juli 2012 11:43
Einen schönen guten Tag zusammen,
ich habe ein kleines Problem bei dem ich noch nicht ganz durchgestiegen bin. Hoffe ihr könnt mir helfen. Unsere Anwendung benötigt einen SQL2008R2 Express. Dieser wird über das Setup quite mit installiert. Die Parameter der config.ini hänge ich ans Ende. Soweit so gut. Installiert wird logischerweise mit einem Adminkonto. Wenn unsere Anwendung unter dem User gestartet wird, verbindet sie sich auch ohne Probleme mit der DB. Führt nun aber ein User ohne Adminrechte die Anwendung aus, schlägt die Verbindung fehl. Starte ich die Anwendung unter seinem Account per "Als Admin ausführen ..." klappt es ebenfalls. Im Management Studio sehe ich als User den SA, der über die config.ini erstellt wird und den lokalen Admin der den SQL installiert hat (siehe Screenshot 1). Dienste werden mit den Anmeldungen auf Screenshot 2 gestartet. Wo habe ich den Bock drin?
Vielen Dank im Voraus!!
Inhalt config.ini:
[SQLSERVER2008]
INSTANCEID="NAMEXY"
ACTION="Install"
FEATURES=SQLENGINE
HELP="False"
INDICATEPROGRESS="False"
IACCEPTSQLSERVERLICENSETERMS="True"
X86="False"
ROLE="AllFeatures_WithDefaults"
ENU="False"
ERRORREPORTING="False"
INSTANCEDIR="C:\Program Files\Microsoft SQL Server"
SQMREPORTING="False"
INSTANCENAME="NAMEXY"
AGTSVCACCOUNT="NT AUTHORITY\NETWORK SERVICE"
AGTSVCSTARTUPTYPE="Disabled"
ISSVCSTARTUPTYPE="Automatic"
ISSVCACCOUNT="NT AUTHORITY\NetworkService"
ASSVCSTARTUPTYPE="Automatic"
ASCOLLATION="Latin1_General_CI_AS"
ASDATADIR="Data"
ASLOGDIR="Log"
ASBACKUPDIR="Backup"
ASTEMPDIR="Temp"
ASCONFIGDIR="Config"
ASPROVIDERMSOLAP="1"
FARMADMINPORT="0"
SQLSVCSTARTUPTYPE="Automatic"
FILESTREAMLEVEL="0"
ENABLERANU="True"
SQLCOLLATION="SQL_Latin1_General_CP1_CI_AS"
SQLSVCACCOUNT="NT AUTHORITY\SYSTEM"
SQLSYSADMINACCOUNTS="BUILTIN\ADMINISTRATORS"
SECURITYMODE="SQL"
SAPWD="PASSWORD"
ADDCURRENTUSERASSQLADMIN="True"
TCPENABLED="1"
NPENABLED="0"
BROWSERSVCSTARTUPTYPE="Disabled"
RSSVCACCOUNT="NT AUTHORITY\NETWORK SERVICE"
RSSVCSTARTUPTYPE="Automatic"
RSINSTALLMODE="FilesOnlyMode"- Bearbeitet akg_ds Mittwoch, 11. Juli 2012 11:44
Alle Antworten
-
Mittwoch, 11. Juli 2012 11:47
Hi,
wie soll der Benutzer auch auf den SQL Server bzw. die Datenbank zugreifen können, wenn ihr den Zugriff nicht explizit erlaubt habt?
Falls Ihr mit einem SQL Server Benutzer und nicht mit Windowsbenutzern aus der Anwendung heraus arbeitet, reicht es aus, wenn ihr den SQL Benutzeraccount während oder nach der Installation anlegt und die passenden Berechtigungen vergebt.
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 -
Mittwoch, 11. Juli 2012 12:02
Ein SQL Benutzer wäre vermutlich ausreichend. Lässt sich das im Setup auch automatisieren?
PS: Danke für die schnelle Antwort!
- Bearbeitet akg_ds Donnerstag, 12. Juli 2012 08:14
-
Mittwoch, 11. Juli 2012 12:11
Ein SQL Benutzer währe vermutlich ausreichend. Lässt sich das im Setup auch automatisieren?
Da ich ja nicht weiß, welches Setup ihr da wie ausführt, hier ein Link zur MSDN. Da wird erklärt, wie man einen Benutzer per SQL Statement anlegt. Das Statement musst Du dann nur noch mit einem Adminkonto gegen den Datenbankserver ausführen.
http://msdn.microsoft.com/de-de/library/ms173463.aspx#sectionToggle3
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 -
Freitag, 20. Juli 2012 07:22Wir verwenden den Install-Shield. Lässt sich das Passwort des SA-Users in der config.ini verschlüsseln?
-
Freitag, 20. Juli 2012 08:54
Wir verwenden den Install-Shield.
Auch hier mussst Du eigentlich nur dafür sorgen, dass das SQL Statement zum Anlegen des Benutzers nach der Installation der SQL Server Instanz und der Datenbank ausgeführt wird.
Lässt sich das Passwort des SA-Users in der config.ini verschlüsseln?
Nicht, dass ich wüsste. Du kannst das Passwort aber durch das Setup nachträglich ändern und dort kannst Du natürlich auch einen verschlüsselten Wert hinterlegen oder den User das Passwort angeben lassen, wenn das gewünscht ist.
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 akg_ds Freitag, 20. Juli 2012 09:22

