Udostępnij za pośrednictwem


sp_adduser (języka Transact-SQL)

Dodaje nowy użytkownik do bieżącej bazy danych.

Ważna informacjaWażne:

Ta funkcja zostanie usunięta z przyszłej wersji programu Microsoft SQL Server. Należy unikać stosowania tej funkcji w nowych projektach oraz zaplanować modyfikację aplikacji, w których obecnie jest używana ta funkcja.Użycie Tworzenie użytkownika zamiast.

Ikona łącza do tematuJęzyka Transact-SQL składni konwencje

Składnia

sp_adduser [ @loginame = ] 'login' 
    [ , [ @name_in_db = ] 'user' ] 
    [ , [ @grpname = ] 'role' ] 

Argumenty

  • [ @ loginame = ] 'login"
    Jest to nazwa SQL Server logowania lub logowania systemu Windows.loginjest sysname, z braku domyślne.loginmusi być istniejącym SQL Server logowania lub logowania systemu Windows.

  • [ @ name_in_db = ] 'user"
    Jest nazwą nowego użytkownika bazy danych.userjest sysname, domyślna wartość NULL.Jeśli user nie jest określony, domyślnie nazwę nowego użytkownika bazy danych login nazwy.Określanie user daje użytkownikowi nowe nazwy w bazie danych różni się od serwera -poziom logowania nazwy.

  • [ @ grpname = ] 'role"
    Jest rola bazy danych , którego nowego użytkownika staje się element członkowski.rolejest sysname, domyślna wartość NULL.rolemusi być prawidłową rola bazy danych w bieżącej bazie danych.

Wartości kodów powrotnych

0 (sukces) lub 1 (błąd)

Uwagi

sp_adduser spowoduje utworzenie schematu, który ma nazwę użytkownika.

Po dodaniu użytkownika za pomocą dotacji DENY, i ODWOŁAĆ instrukcji, aby zdefiniować uprawnienia, które kontrolują czynności wykonywanych przez użytkownika.

Użycie sys.server_principals do wyświetlania listy nazw logowania prawidłowy.

Użycie sp_helprole do wyświetlania listy nazw prawidłowej roli.Po określeniu roli użytkownika automatycznie uzyskuje uprawnienia, które są definiowane dla roli.Jeśli rola nie zostanie określona, użytkownik uzyska uprawnienia domyślne public rolę.Aby dodać użytkownika do roli, wartość dla user name musi być dostarczona.(usernamemoże być taki sam, jak login_id.)

Użytkownik Gość już istnieje w każdej bazie danych.Dodawanie użytkownika Gość spowoduje włączenie tego użytkownika, jeśli wcześniej została wyłączona.Domyślnie użytkownik Gość jest wyłączona w nowych bazach danych.

sp_adduser nie może być wykonywane wewnątrz transakcji zdefiniowanej przez użytkownika.

Nie można dodać Gość użytkownika ponieważ Gość użytkownik już istnieje wewnątrz każdej bazy danych.Aby włączyć Gość użytkownika, przyznanie Gość uprawnienie POŁĄCZ, jak pokazano:

GRANT CONNECT TO guest;
GO

Uprawnienia

Wymaga posiadania bazy danych.

Przykłady

A.Dodawanie użytkownika bazy danych

W następującym przykładzie dodano użytkownika bazy danych Vidur do istniejących Recruiting rolę w bieżącej bazie danych przy użyciu istniejących SQL Server logowania Vidur.

EXEC sp_adduser 'Vidur', 'Vidur', 'Recruiting'

B.Dodawanie użytkownika bazy danych o tym samym identyfikator logowania

W następującym przykładzie dodano użytkownika Arvind z bieżącą bazą danych dla SQL Server logowania Arvind.Ten użytkownik domyślny public rolę.

EXEC sp_adduser 'Arvind'

C.Dodawanie użytkownika bazy danych pod inną nazwą niż jego serwerapoziom logowania

W następującym przykładzie dodano SQL Server logowania BjornR do bieżącej bazy danych, który ma nazwę użytkownika z Bjorn, i dodaje użytkownika bazy danych Bjorn do Production rola bazy danych.

EXEC sp_adduser 'BjornR', 'Bjorn', 'Production'