Udostępnij za pośrednictwem


SETUSER (Transact-SQL)

Umożliwia członkiem sysadmin stała rola serwera or db_owner stała rola bazy danych do podszycia się pod innego użytkownika.

Important noteImportant Note:

Dołączono SETUSER zgodność z poprzednimi wersjami.SETUSER mogą nie być obsługiwane w przyszłej wersji programu SQL Server. Firma Microsoft zaleca użycie wykonać JAKO zamiast niego.

Topic link iconKonwencje składni języka Transact-SQL

SETUSER [ 'username' [ WITH NORESET ] ] 

Argumenty

  • 'username'
    Jest to nazwa SQL Server albo użytkownik systemu Windows w bieżącej bazie danych jest uznawane. Kiedy username nie jest określony, oryginalne tożsamości administrator systemu lub właściciela personifikacji użytkownika zostanie zresetowany.

  • Z NORESET
    Określa, że kolejne instrukcje SETUSER (z nie określono username) nie należy resetować tożsamości użytkownika administrator systemu lub właściciel bazy danych.

Remarks

SETUSER mogą być używane przez element członkowski członkowski sysadmin Rola serwera lub db_owner ustalić rola bazy danych, aby przyjąć tożsamości innego użytkownika, aby sprawdzić uprawnienia przez innego użytkownika.

Tylko za pomocą SETUSER z SQL Server Użytkownicy. SETUSER nie jest obsługiwane w przypadku użytkowników systemu Windows.Gdy SETUSER zostało użyte do przyjęcia tożsamości innego użytkownika, wszystkie obiekty, które tworzy personifikacji użytkownika będące własnością użytkownika, są traktowane.Na przykład, jeśli właściciel bazy danych zakłada tożsamości użytkownika Margaret i tworzy tabela o nazwie zamówienia, the zamówienia właścicielem tabela Margaret, nie administrator systemu.

SETUSER obowiązuje do czasu wydania innej instrukcja SETUSER lub bieżąca baza danych zostanie zmieniona przy użyciu instrukcja USE.

Uwaga

Jeśli SETUSER WITH NORESET jest używany, właściciel bazy danych lub administrator systemu należy wylogować się i następnie zalogować się ponownie na nowo ustanowić swoich własnych praw.

Uprawnienia

Członkostwo w grupie wymaga sysadmin Rola serwera lub db_owner stała rola bazy danych.

Przykłady

W poniższym przykładzie pokazano, jak właściciel bazy danych może przyjąć tożsamości innego użytkownika.Użytkownik mary została utworzona tabela o nazwie computer_types. Używając SETUSER personifikuje właścicielem bazy danych mary Aby nadać użytkownikowi joe dostęp do computer_types Tabela, a następnie przywraca swoją tożsamość.

SETUSER 'mary'
GO
GRANT SELECT ON computer_types TO joe
GO
SETUSER