vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Brandneu! sevEingabe v3.0 - Das Eingabecontrol der Superlative!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB & Datenbanken
Re: SQL Server: Wie kann ich User per Code anlegen? 
Autor: Snoopy
Datum: 16.06.05 20:28

Hallo Larsen,

yepp, das geht - ist aber ein wenig Aufwendig. Aber mit dem Query Analyzer kannst Du
das machen. Du mußt dazu drei Stored Prozedures ausführen:

1. sp_addlogin
2. sp_grantdbaccess
3. sp_addrolemember

Zu 1: Damit legst Du erstmal einen neuen User auf dem Server an
exec sp_addlogin 'Username', 'Passwort', '[DefDataBase]'
DefaultDataBase kannst Du auch weglassen. Dann wird die Standard DB (master)
genommen.


Zu 2: Damit weist Du den neuen User eine Datenbank zu, an die er sich Connecten darf.
exec sp_grantdbaccess 'BenutzerName', 'UserLoginName'
i.d.R. ist der Benutzername und der Userloginname der selbe. Beachte auch bitte, dass
Du zu diesem Zeitpunkt mit der DB, in der der User angelegt werden soll, connected
sein muß. Also im Script noch vorher "USE DataBase" absetzen.


Zu 3: Damit legst du den neuen DBUser in eine Datenbank-Rolle an.
exec sp_addrolemember 'RoleName', 'UserName'
Typischerweise legt man den User in die Rollen "DataReader" und "DataWriter" an.


Mit dieser Vorgehensweise legst du einen User mit SQL-Authentifizerung an.


Wenn Du den LoginUser direkt in eine Serverrolle, bsw. in die SysAdmin Rolle anlegst,
dann kannst du Dir die Punkt 2 und 3 sparen. Und das geht dann so:

Erst Schritt eins ausführen und dann:
exec sp_addsrvrolemember 'LoginName', 'ServerRolle'
Für ServerRolle nimmst Du dann "sysadmin"

Das war´s dann

Einen interessanten Link zum Thema Stored Procedures findes du hier:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/tsqlref/ts_sp_00_519s.asp


Du kannst das übrigens auch per VB (ADO) anlegen. Dafür brauchst du dann entweder
ein ADODB.Command Object oder aber Du führst das mit deinem Connection Object
mit der Execute Methode aus.

@CyberDreams
Wie Du siehst, ist es mal nicht so eben getan, den User in irgendwelchen Tabellen
anzulegen. Das geht - ja, aber dazu mußt du genauestens über die internas des
SQL-Server bescheid wissen. Welchen Sinn würden dann die ausgefeilten Sicherheitsmechanismen
des Servers machen

Gruß

Gru?
---------------------------------------------------
Snoopy sagt - vb@rchiv find ich gut...
Schon gesehen? OSMMapViewer V2 Control

alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
SQL Server: Wie kann ich User per Code anlegen?1.879Larsen16.06.05 15:24
Re: SQL Server: Wie kann ich User per Code anlegen?1.199CyberDreams16.06.05 16:07
Re: SQL Server: Wie kann ich User per Code anlegen?1.161Larsen16.06.05 16:15
Re: SQL Server: Wie kann ich User per Code anlegen?1.148CyberDreams16.06.05 16:45
Re: SQL Server: Wie kann ich User per Code anlegen?1.153Larsen16.06.05 16:51
Re: SQL Server: Wie kann ich User per Code anlegen?1.099CyberDreams16.06.05 16:56
Re: SQL Server: Wie kann ich User per Code anlegen?1.124Larsen16.06.05 17:04
Re: SQL Server: Wie kann ich User per Code anlegen?1.273Snoopy16.06.05 20:28
Re: SQL Server: Wie kann ich User per Code anlegen?1.150CyberDreams16.06.05 21:51
Re: SQL Server: Wie kann ich User per Code anlegen?1.143Larsen17.06.05 09:25

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel