SETUSER (Transact-SQL)

Umożliwia element członkowski sysadmin stała rola serwera lub db_owner stałej rola bazy danych podszycia się pod innego użytkownika.

Ważna informacjaWażne:

SETUSER znajduje się zgodność z poprzednimi wersjami.SETUSER mogą nie być obsługiwane w przyszłych wersji programu SQL Server.Firma Microsoft zaleca użycie Wykonywanie jako zamiast.

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

Składnia

SETUSER [ 'username' [ WITH NORESET ] ] 

Argumenty

  • 'username'
    Jest to nazwa SQL Server lub użytkownika systemu Windows w bieżącej bazie danych jest traktowane.Gdy username nie jest określony, oryginalne tożsamość administrator systemu lub właściciel bazy danych, użytkownik jest resetowania.

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

Uwagi

SETUSER mogą być używane przez element członkowski sysadmin stała rola serwera lub db_owner stałej rola bazy danych przyjęcie tożsamości innego użytkownika, aby przetestować uprawnień innych użytkowników.

Używaj tylko SETUSER z SQL Server użytkowników.SETUSER nie jest obsługiwane z użytkownikami 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 są 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, zamówienia tabela jest własnością Margaret, nie administrator systemu.

SETUSER pozostają w mocy do momentu wydawane innym SETUSER instrukcja lub bieżącej bazy danych zostanie zmieniona z użycia instrukcja.

Ostrzeżenie

Jeśli używana jest SETUSER Z NORESET, właściciel bazy danych lub administrator systemu należy się wylogować i następnie zalogować się ponownie na nowo ustanowić swoje własne prawa.

Uprawnienia

Wymaga członkostwa w sysadmin stała rola serwera lub db_owner rola bazy danychstałej.

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.Za pomocą SETUSER, personifikuje właściciel bazy danych mary Udzielanie użytkownikowi joe dostęp do computer_types tabela, a następnie resetuje swojej tożsamości.

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