Udostępnij za pośrednictwem


SUSER_SID (Transact-SQL)

Zwraca numer identyfikacyjny zabezpieczeń (SID) dla nazwy logowania określony.

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

SUSER_SID ( [ 'login' ] [ , Param2 ] ) 

Argumenty

  • 'login'
    Is the login name of the user.login is sysname.login, który jest opcjonalny, może być SQL Server Identyfikator logowania lub Microsoft Użytkownika lub grupy systemu Windows. Jeśli login to nie jest określona, informacje dotyczące bieżącego kontekstu zabezpieczeń są zwracane.

  • Param2
    Specifies whether the login name is validated.Param2 is of type int and is optional.Kiedy Param2 0, nazwa użytkownika nie jest sprawdzany. Kiedy Param2 nie jest ona określona jako 0, nazwy logowania jest weryfikowana w celu być dokładnie taka sama, jak nazwa użytkownika są przechowywane w systemie Windows SQL Server.

Zwracane typy

varbinary(85)

Remarks

SUSER_SID może być używany jako ograniczenie domyślne w instrukcji ALTER tabela lub CREATE tabela.SUSER_SID mogą być używane w liście select w klauzula WHERE, i dowolnym wyrażeniu jest dozwolone.SUSER_SID musi zawsze następować nawiasów, nawet jeśli nie jest określony.

Po wywołaniu bez argumentu SUSER_SID zwraca identyfikator SID bieżącego kontekstu zabezpieczeń.Po wywołaniu bez argumentu w instancji, która została przełączona kontekstu przy użyciu wykonać AS SUSER_SID zwraca identyfikator SID w kontekście personifikowanego.Po wywołaniu z kontekście personifikowanego SUSER_SID(ORIGINAL_LOGIN()) zwraca identyfikator SID oryginalnego kontekstu.

Gdy SQL Server Sortowanie i sortowanie systemu Windows są różne, SUSER_SID może się nie powieść podczas SQL Server i system Windows przechowuje logowania się w innym formacie. Na przykład, jeśli na komputerze systemu Windows TestComputer logowania użytkownika i SQL Server przechowuje identyfikator logowania jako TESTCOMPUTER\User wyszukiwania logowania TestComputer\User może przestać działać poprawnie rozpoznać nazwę logowania. Aby pominąć to sprawdzanie poprawności nazwy logowania, należy użyć Param2.

Przykłady

A.Za pomocą SUSER_SID

The following example returns the security identification number for the SQL Serversa login.

SELECT SUSER_SID('sa');
GO

B.SUSER_SID przy użyciu nazwy użytkownika systemu Windows

W poniższym przykładzie zwraca numer identyfikacyjny zabezpieczeń dla użytkowników systemu Windows London\Workstation1.

SELECT SUSER_SID('London\Workstation1');
GO

C.Za pomocą SUSER_SID jako ograniczenie domyślne

W poniższym przykładzie użyto SUSER_SID jako DEFAULT ograniczenia w CREATE TABLE Instrukcja.

USE AdventureWorks;
GO
CREATE TABLE sid_example
(
login_sid   varbinary(85) DEFAULT SUSER_SID(),
login_name  varchar(30) DEFAULT SYSTEM_USER,
login_dept  varchar(10) DEFAULT 'SALES',
login_date  datetime DEFAULT GETDATE()
) 
GO
INSERT sid_example DEFAULT VALUES
GO

D.Porównywanie nazwy logowania systemu Windows do nazwy logowania, przechowywane w programie SQL Server

W poniższym przykładzie przedstawiono sposób użycia Param2 Aby uzyskać identyfikator SID z systemu Windows i używa tego identyfikatora SID jako dane wejściowe do SUSER_SNAME Funkcja. W przykładzie zawiera identyfikator logowania w formacie, w którym jest przechowywany w systemie Windows)TestComputer\User), a następnie zwraca identyfikator logowania w formacie, w którym są przechowywane w SQL Server (TESTCOMPUTER\User).

SELECT SUSER_SNAME(SUSER_SID('TestComputer\User', 0)) ;

Historia zmian

Zaktualizowaną zawartość

Dodaje Param2 do sekcji składnię i argumenty.