sys.sp_adduser (Transact-SQL)

A következőkre vonatkozik:SQL Server

Új felhasználót ad hozzá a jelenlegi adatbázishoz.

Important

Ez a funkció a SQL Server egy későbbi verziójában lesz eltávolítva. Ne használja ezt a funkciót az új fejlesztési munkában, és tervezze meg a funkciót jelenleg használó alkalmazások módosítását. A CREATE USER használható helyette.

Transact-SQL szintaxis konvenciók

Syntax

sys.sp_adduser
    [ @loginame = ] N'loginame'
    [ , [ @name_in_db = ] N'name_in_db' ]
    [ , [ @grpname = ] N'grpname' ]
[ ; ]

Arguments

[ @loginame = ] N'loginame'

Az SQL Server bejelentkezési vagy Windows fiók neve. @loginame a sysname, alapértelmezett nélkül. @loginame egy meglévő SQL Server bejelentkezési vagy Windows fiók kell legyen.

[ @name_in_db = ] N'name_in_db'

Az új adatbázis-felhasználó neve. @name_in_db a sysname, alapértelmezettként NULL. Ha @name_in_db nincs megadva, az új adatbázis-felhasználó neve alapértelmezettben @loginame. Ha @name_in_db megadják, az új felhasználó egy nevet ad az adatbázisban, ami eltér a szerverszintű bejelentkezési névtől.

[ @grpname = ] N'grpname'

Az adatbázis szerep, amelynek tagja az új felhasználó lesz. @grpname a sysname, alapértelmezettként NULL. @grpname érvényes adatbázis-szerepnek kell lennie a jelenlegi adatbázisban.

Kódértékek visszaadása

0 (sikeres) vagy 1 (hiba).

Remarks

sp_adduser Emellett létrehoz egy sémát, ami a felhasználó neve.

Miután egy felhasználó hozzáadásra került, használjuk az GRANT, DENY, és REVOKE utasításokat a felhasználó által végzett tevékenységek szabályozására szolgáló jogosultságok meghatározására.

Használd sys.server_principals érvényes bejelentkezések listájának megjelenítésére.

Használd sp_helprole az érvényes szerepnevek listájának megjelenítésére. Amikor beállítasz egy szerepet, a felhasználó automatikusan megszerzi a szerephez definiált jogosultságokat. Ha egy szerep nincs megadva, a felhasználó megkapja az alapértelmezett nyilvános szerep által biztosított jogosultságokat. Ahhoz, hogy egy felhasználó hozzáadható legyen egy szerephez, meg kell adni egy értéket a @name_in_db számára. (@name_in_db lehet ugyanaz, mint @loginame.)

A felhasználói vendég már minden adatbázisban létezik. A vendég hozzáadása lehetővé teszi ezt a felhasználót, ha korábban ki volt tiltva. Alapértelmezés szerint a felhasználói vendég le van tiltva az új adatbázisokban.

sp_adduser nem lehet végrehajtani egy felhasználó által definiált tranzakción belül.

Nem lehet vendégfelhasználót hozzáadni, mert minden adatbázisban már létezik vendégfelhasználó . A vendégfelhasználó engedélyezéséhez adjunk neki CONNECT engedélyt a látható módon:

GRANT CONNECT TO guest;
GO

Permissions

Megköveteli az adatbázis tulajdonjogát.

Examples

A. Adatbázis-felhasználó hozzáadása

A következő példa hozzáadja az adatbázis-felhasználót Vidur a jelenlegi Recruiting szerephez a jelenlegi adatbázisban, a meglévő SQL Server bejelentkezéssel Vidur.

EXECUTE sp_adduser 'Vidur', 'Vidur', 'Recruiting';

B. Hozzáadj egy adatbázis-felhasználót ugyanazzal a bejelentkezési azonosítóval

Az alábbi példa hozzáadja a felhasználót Arvind a jelenlegi adatbázishoz az SQL Server bejelentkezéshezArvind. Ez a felhasználó az alapértelmezett nyilvános szerephez tartozik.

EXECUTE sp_adduser 'Arvind';

C. Adjon hozzá egy adatbázis-felhasználót, akinek más neve van, mint a szerverszintű bejelentkezési rendszere

A következő példa hozzáadja az SQL Server bejelentkezést BjornR a jelenlegi adatbázishoz, amely felhasználónév , Bjornés hozzáadja az adatbázis felhasználót Bjorn az Production adatbázis szerepéhez.

EXECUTE sp_adduser 'BjornR', 'Bjorn', 'Production';