Menü

sp_adduser

Zurück | Ebene zurück

Beschreibung

Mit sp_adduser wird ein Datenbankbenutzer angelegt. Hierzu wird ein SQL-Account, der mit sp_addlogin angelegt wurde mit dem Datenbankbenutzer verknüpft.

Wichtig ist es, den Unterschied zwischen einem Datenbankbenutzer und einem SQL-Server-Benutzer zu verstehen. Ein SQL-Server-Benutzer kann sich am SQL-Server anmelden, aber erst Datenbankbenutzer ist in der Lage sich an einer Anwenderdatenbank anzumelden.

Syntax

sp_adduser
   @loginame varchar(128),
   @name_in_db  varchar(128),
   @grpname varchar(128)

Argumente

@LoginName varchar(128)

Dieser Parameter vom Typ sysname muss angegeben werden.

In LoginName dürfen keine Schrägstriche oder reservierte Namen wie sa, public usw. verwendet werden, ebenso darf nicht der Wert NULL benutzt werden.

Er bezieht sich auf den zuvor mit sp_addlogin angelegten Benutzer-Account.

@name_in_db  varchar(128)
optional; default=NULL

Das Name des Benutzers, der in der Datenbank verwendet werden soll kann ein anderer sein, als der der am Server angemeldet wird. In der Regel ist es jedoch so, dass der Benutzer am Server und an der Datenbank denselben Namen verwendet. Dies ist der Standardfall und in diesem Fall wird nur der Wert NULL übergeben.

@grpname varchar(128)
optional; default='master'

Jeder Datenbankbenutzer kann in einer Datenbank-Rolle (=Benutzergruppe) sein. Mit der Installation von EULANDA® werden verschiedene EULANDA®-Rollen vordefiniert und ein Datenbank-Benutzer kann über diesen Parameter in einer dieser Rollen  zugeordnet werden. Wird keine Rolle zugewiesen, so kann der Benutzer nicht an einer EULANDA®-Datenbank arbeiten. Die Mindestberechtigung hierzu ist ein Eintrag in der Rolle eul_user.

Für den normalen EULANDA®-Benutzer sollte die Rolle eul_SuperUser verwendet werden.

Rückgabetypen

Gibt den Datentyp der Argumente zurück.

0 Erfolgreich ausgeführt
1 Fehler beim Ausführen
 

Beispiel 1

EXEC sp_adduser 'Eulanda', null, 'eul_superuser'
GO

Ein neues Datenbankbenutzer mit dem Namen Eulanda wird das Recht erteilt, sich an der Datenbank anzumelden. Er bekommt auch in der Datenbank den selben Namen zugeordnet, mit dem er sich am SQL-Server anmeldet. Als Berechtigungsgruppe wird dem Datenbankbenutzer die Rolle eul_superuser zugeordnet.

Dieser Befehl wirkt immer auf die Datenbank, an der man angemeldet ist. Die Anmeldedatenbank kann mit use Datenbankname gewechselt werden.

Ausgabe:

Der Datenbankzugriff für 'Eulanda' wurde erteilt.
'Eulanda' wurde zur Rolle 'eul_superuser' hinzugefügt.

Beispiel 2

USE EULANDA_Testmandant
DECLARE @ret int
EXEC @ret=sp_adduser 'Eulanda', null, 'eul_superuser'
SELECT @ret
GO

Hier wird die selbe Funktion mit den Parametern wie in Beispiel 1 aufgerufen, jedoch wird das Funktionsergebnis der Variablen @ret zugewiesen. Das Ergebnis wird dann über den Select-Befehl ausgegeben. Bei 0 wurde die Funktion fehlerfrei ausgeführt.

Ausgabe:

Der Datenbankzugriff für 'Eulanda' wurde erteilt.
'Eulanda' wurde zur Rolle 'eul_superuser' hinzugefügt.

----------- 
0

(1 row(s) affected)
 

Hinweis

Ein Datenbankbenutzer wird mit sp_dropuser gelöscht.