Aracılığıyla paylaş


SUSER_SID (Transact-SQL)

Güvenlik kimlik numarası (SID) belirtilen oturum açma adını döndürür.

Konu bağlantısı simgesiTransact-SQL sözdizimi kuralları

Sözdizimi

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

Bağımsız değişkenler

  • 'login'
    Kullanıcı oturum açma adıdır.loginis sysname.login, isteğe bağlı olduğu olabilir bir SQL Server oturum açma veya Microsoft Windows kullanıcısı veya grubu.login Olan belirtilmezse, geçerli güvenlik içeriği hakkında bilgi verdi.

  • Param2
    Oturum açma adını doğrulanmış olup olmadığını belirtir.Param2tür int ve isteğe bağlıdır.Zaman Param2 0, oturum açma adını değil doğrulanır. Param2 0, Windows oturum açma adı ile tam olarak aynı oturum açma adını depolanmış olması için doğrulanır belirtilmemiş SQL Server.

Dönüş Türleri

varbinary(85)

Açıklamalar

SUSER_SID, alter table veya create table varsayılan kısıtlama olarak kullanılabilir.SUSER_SID bir seçim listesinde, where yan tümcekullanılabilir ve bir ifade herhangi bir izin verilmez.Hiçbir parametre belirtilmiş olsa bile, SUSER_SID her zaman ayraç izlenmesi gerekir.

Bir bağımsız değişken olmadan çağrıldığında, ' % s'sıd SID geçerli güvenlik içeriği, SUSER_SID döndürür.execute as kullanarak içerik geçirdi bir toplu iş içinde bağımsız değişken olmadan çağrıldığında, ' % s'sıd SID kimliğine bürünülen içeriğinin SUSER_SID döndürür.Bir kimliğine bürünülen içerikten çağrıldığında, özgün içerik SID SUSER_SID(ORIGINAL_LOGIN()) döndürür.

Zaman SQL Server harmanlama ile Windows harmanlama farklı, SUSER_SID ne zaman başarısız olabilir SQL Server ve Windows oturumu farklı bir biçim.Örneğin, Windows bilgisayarı TestComputer olan oturum açma User ve SQL Server oturum olarak saklar TESTCOMPUTER\User, oturum açma, arama TestComputer\User doğru oturum açma adını çözümlemek başarısız olabilir.Bu doğrulama oturum açma adı atlamak için kullanmak Param2.Farklı alfabe genellikle bir nedenidir SQL Server hata 15401:

Windows NT user or group '%s' not found. Check the name again.

Örnekler

A.SUSER_SID kullanma

Aşağıdaki örnek güvenlik kimlik numarası verir SQL Server sa oturum açma.

SELECT SUSER_SID('sa');
GO

B.SUSER_SID bir Windows kullanıcı adı ile kullanma

Aşağıdaki örnek Windows kullanıcının güvenlik kimlik numarası verir London\Workstation1.

SELECT SUSER_SID('London\Workstation1');
GO

C.SUSER_SID bir varsayılan kısıtlama olarak kullanma

Aşağıdaki örnek SUSER_SID olarak bir DEFAULT sınırlaması bulunan bir CREATE TABLE deyim.

USE AdventureWorks2008R2;
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.SQL Server'da depolanan oturum açma adı için Windows oturum açma adı karşılaştırması

Aşağıdaki örnek, nasıl kullanılacağını gösterir Param2 Windows ' % s'sıd SID almak için bu SID girdisi olarak kullanır ve SUSER_SNAME işlev.Örnek oturum açma, onu depolanan Windows biçiminde sağlar (TestComputer\User) ve oturum açma içinde onu depolanır biçimindeki döner SQL Server ()TESTCOMPUTER\User).

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