Thema: Delphi mssql User anlegen

Einzelnen Beitrag anzeigen

Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.639 Beiträge
 
#6
  Alt 9. Jul 2002, 18:40
Sorry, ich hab mich total verlesen.
Anstelle von MS SQL hab ich echt MySQL gelesen. Tut mir leid.

Hier die korrekte Antwort, das geht alles über System Stored Procedures.


Erstmal muss der User connecten dürfen:

sp_addlogin [@loginname =] 'login' [,[@passwd =] 'password' [,[@defdb =] 'database' [,[@deflanguage =] 'language' [,[@sid =] 'sid' [,[@encryptopt =] 'encryption_option'

loginname = Neuer Login-Name des Users
passwd = Sein neues Passwort
defdb = Initialdatenbank, an der der User immer angemeldet wird
Default: master -> sollte daher geändert werden
language = Sprache des Benutzers.
Default: Der default der Datenbank
sid = Security Identificaton Number - wird vom system vergeben, kann aber bei einem Update selber vergeben werden
encryptopt = gibt folgendes an:
NULL = Passwort ist verschlüsselt
skip_encryption = Passwort ist nicht verschlüsselt
skip_encryption_old = Passwort ist nicht verschlüsselt, wurde aber mit einer alten Version von SQL Server verschlüsselt



Der User braucht noch Zugriff auf die aktuelle DB:

sp_granntdbaccess [@loginname =] 'login' ,[@name_in_db] 'name_in_db'

loginname = Der Name des neuen Users - wird der security account
name_in_db = Sysname des Accounts in der DB
Default = der loginname



Anlegen einer neuen Rolle:

sp_addrole [@rolename =] 'role', [@ownername =] 'owner'

rolename = sysname der neuen Datenbank Rolle
ownername = Der Besitzer der neuen Rolle. Default: dbo



Dann die Zuweisung eines Users zu einer Rolle:

sp_addrolemember [@rolename =] 'role', [@membername =] 'security_account'

rolename = Der Name der Rolle
membername = Der Name des neuen Members


Umgekehrt wird ein Schuh draus:

sp_droprolemember [@rolename =] 'role', [@membername =] 'security_account'

Entfernt den User aus der Rolle.


sp_droprole [@rolename =] 'role'

Löscht eine Rolle.


sp_droplogin [@loginname =] 'login'

Löscht den User.


Hoffe, das hat geholfen.
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat