sys.sp_grantdbaccess (Transact-SQL)

Gäller för:SQL Server

Lägger till en databasanvändare i den aktuella databasen.

Important

Den här funktionen tas bort i en framtida version av SQL Server. Undvik att använda den här funktionen i nytt utvecklingsarbete och planera att ändra program som för närvarande använder den här funktionen. Använd CREATE USER i stället.

Transact-SQL syntaxkonventioner

Syntax

sys.sp_grantdbaccess
    [ @loginame = ] N'loginame'
    [ , [ @name_in_db = ] N'name_in_db' OUTPUT ]
[ ; ]

Arguments

[ @loginame = ] N'loginame'

Namnet på Windows-gruppen, Windows-inloggning eller SQL Server-inloggning, ska mappas till den nya databasanvändaren. @loginame är sysname, utan standard. Namn på Windows-grupper och Windows-inloggningar måste kvalificeras med ett Windows-domännamn i formen <domain>\<login>; till exempel, LONDON\Joeb. Inloggningen kan inte redan mappas till en användare i databasen.

[ @name_in_db = ] N'name_in_db' OUTPUT

Namnet på den nya databasanvändaren. @name_in_db är en OUTPUT parameter av typen sysname. Om det inte specificeras används @loginame . Om den specificeras som en OUTPUT variabel med värdet , NULLsätts @name_in_db till @loginame. @name_in_db får inte redan finnas i den aktuella databasen.

Returnera kodvärden

0 (lyckades) eller 1 (fel).

Remarks

sp_grantdbaccess Call, CREATE USERvilket stödjer extra alternativ. För information om hur man skapar databasanvändare, se CREATE USER. För att ta bort en databasanvändare från en databas, använd DROP USER.

sp_grantdbaccess kan inte köras i en användardefinierad transaktion.

Permissions

Kräver medlemskap i den db_owner fasta databasrollen eller den db_accessadmin fasta databasrollen.

Examples

Följande exempel används CREATE USER för att lägga till en databasanvändare för Windows-kontot Edmonds\LolanSo i den aktuella databasen, vilket är den föredragna metoden för att skapa en databasanvändare. Den nya användaren heter Lolan.

CREATE USER Lolan FOR LOGIN [Edmonds\LolanSo];
GO