Udostępnij za pomocą


sp_dropuser (Transact-SQL)

Dotyczy:SQL Server

Usuwa użytkownika bazy danych z bieżącej bazy danych. sp_dropuser zapewnia zgodność z wcześniejszymi wersjami programu SQL Server.

Ważne

Ta funkcja zostanie usunięta w przyszłej wersji programu SQL Server. Unikaj używania tej funkcji w nowych pracach programistycznych i zaplanuj modyfikowanie aplikacji, które obecnie korzystają z tej funkcji. Zamiast tego użyj funkcji DROP USER .

Transact-SQL konwencje składni

Składnia

sp_dropuser [ @name_in_db = ] N'name_in_db'
[ ; ]

Argumenty (w programowaniu)

[ @name_in_db = ] N'name_in_db'

Nazwa użytkownika do usunięcia. @name_in_db jest nazwą systemu bez wartości domyślnej. @name_in_db musi istnieć w bieżącej bazie danych. Podczas określania konta systemu Windows użyj nazwy, za pomocą której baza danych zna to konto.

Zwracanie wartości kodu

0 (powodzenie) lub 1 (niepowodzenie).

Uwagi

sp_dropuser Wykonuje sp_revokedbaccess polecenie , aby usunąć użytkownika z bieżącej bazy danych.

Służy sp_helpuser do wyświetlania listy nazw użytkowników, które można usunąć z bieżącej bazy danych.

Po usunięciu użytkownika bazy danych wszystkie aliasy tego użytkownika również zostaną usunięte. Jeśli użytkownik jest właścicielem pustego schematu o takiej samej nazwie jak użytkownik, schemat zostanie porzucony. Jeśli użytkownik jest właścicielem innych zabezpieczanych elementów w bazie danych, użytkownik nie zostanie usunięty. Własność obiektów musi najpierw zostać przeniesiona do innego podmiotu zabezpieczeń. Aby uzyskać więcej informacji, zobacz ALTER AUTHORIZATION (ALTER AUTHORIZATION). Usunięcie użytkownika bazy danych automatycznie usuwa uprawnienia skojarzone z tym użytkownikiem i usuwa użytkownika z dowolnych ról bazy danych, których jest członkiem.

sp_dropuser Nie można używać do usuwania użytkowników właściciela bazy danych (dbo) INFORMATION_SCHEMA ani użytkownika-gościamaster z baz danych lub tempdb . W niesystemowych bazach danych EXECUTE sp_dropuser 'guest' odwołuje CONNECT uprawnienie od gościa użytkownika, ale sam użytkownik nie jest usuwany.

sp_dropuser nie można wykonać w ramach transakcji zdefiniowanej przez użytkownika.

Uprawnienia

Wymaga uprawnienia ALTER ANY USER do bazy danych.

Przykłady

Poniższy przykład usuwa użytkownika Albert z bieżącej bazy danych.

EXECUTE sp_dropuser 'Albert';
GO