Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A következőkre vonatkozik:SQL Server
Azure SQL Database
Felügyelt Azure SQL-példány
SQL-adatbázis a Microsoft Fabricben
A megadott bejelentkezési név biztonsági azonosítószámát (SID) adja vissza.
Transact-SQL szintaxis konvenciók
Szemantika
SUSER_SID ( [ 'login' ] [ , Param2 ] )
Arguments
'* bejelentkezés *'
A következőkre vonatkozik: SQL Server 2008 (10.0.x) és újabb verziók
A felhasználó bejelentkezési neve.
a bejelentkezéssysname.
a bejelentkezés, amely nem kötelező, lehet SQL Server-bejelentkezés vagy Microsoft Windows-felhasználó vagy -csoport. Ha nincs megadva bejelentkezés , a rendszer az aktuális biztonsági környezettel kapcsolatos információkat adja vissza. Ha a paraméter tartalmaz NULL, SUSER_SID a visszaadott értéket NULLadja vissza.
Param2
A következőkre vonatkozik: SQL Server 2012 (11.x) és újabb verziók
Megadja, hogy a bejelentkezési név érvényesítve van-e. A Param2int típusú, és nem kötelező. Ha a Param2 0, a rendszer nem érvényesíti a bejelentkezési nevet. Ha a Param2 nincs 0-ként megadva, a Rendszer ellenőrzi, hogy a Windows bejelentkezési neve pontosan megegyezik-e az SQL Serverben tárolt bejelentkezési névvel.
Visszatérési típusok
varbinary(85)
Megjegyzések
SUSER_SID A korlátozásként DEFAULT használható a következőben: ALTER TABLECREATE TABLEvagy .
SUSER_SID egy kijelölési listában, egy WHERE záradékban és bárhol használható, ahol egy kifejezés engedélyezve van.
SUSER_SID zárójelek mindig követendők, még akkor is, ha nincs megadva paraméter.
Ha argumentum nélkül hívjuk meg, SUSER_SID az aktuális biztonsági környezet BIZTONSÁGI azonosítóját adja vissza. Ha argumentum nélkül hív meg egy olyan kötegen belül, amely a használatával EXECUTE ASmódosította a környezetet, SUSER_SID a megszemélyesített környezet SID-ét adja vissza. Ha megszemélyesített környezetből hívjuk meg, SUSER_SID(ORIGINAL_LOGIN()) az eredeti környezet SID-ét adja vissza.
Ha az SQL Server rendezése és a Windows-rendezés eltérő, sikertelen lehet, SUSER_SID ha az SQL Server és a Windows más formátumban tárolja a bejelentkezést. Ha például a Windows-számítógép TestComputer rendelkezik a bejelentkezéssel User , és az SQL Server a bejelentkezést a TESTCOMPUTER\Userkövetkezőképpen tárolja, előfordulhat, hogy a bejelentkezés TestComputer\User keresése nem oldja fel megfelelően a bejelentkezési nevet. A bejelentkezési név ellenőrzésének kihagyásához használja a Param2 parancsot. A különböző rendezések gyakran az 15401-ben előforduló SQL Server-hiba okai: Windows NT user or group '%s' not found. Check the name again.
Megjegyzések az Azure SQL Database-hez és az SQL Database-hez a Fabricben
SUSER_SID mindig adja vissza a bejelentkezési SID-t az aktuális biztonsági környezethez. A sys.database_principals használatával szerezze be egy másik bejelentkezés SID-azonosítóját.
Az SUSER_SID utasítás nem támogatja a megszemélyesített biztonsági környezettel EXECUTE AStörténő végrehajtást.
Példák
A. SUSER_SID használata
Az alábbi példa az aktuális biztonsági környezet biztonsági azonosító számát (SID) adja vissza.
SELECT SUSER_SID();
B. SUSER_SID használata adott bejelentkezéssel
A következőkre vonatkozik: SQL Server 2012 (11.x) és újabb verziók
Az alábbi példa az SQL Server-bejelentkezés sa biztonsági azonosító számát adja vissza.
SELECT SUSER_SID('sa');
GO
C. SUSER_SID használata Windows-felhasználónévvel
A következőkre vonatkozik: SQL Server 2012 (11.x) és újabb verziók
Az alábbi példa a Windows-felhasználó London\Workstation1biztonsági azonosító számát adja vissza.
SELECT SUSER_SID('London\Workstation1');
GO
D. A SUSER_SID használata ALAPÉRTELMEZETT kényszerként
Az alábbi példa kényszerként SUSER_SID használ DEFAULT egy CREATE TABLE utasításban.
USE AdventureWorks2022;
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
E. A Windows bejelentkezési nevének összehasonlítása az SQL Serverben tárolt bejelentkezési névvel
A következőkre vonatkozik: SQL Server 2012 (11.x) és újabb verziók
Az alábbi példa bemutatja, hogyan lehet a Param2 használatával beszerezni a SID-t a Windowsból, és hogyan használhatja ezt a SID-t a SUSER_SNAME függvény bemeneteként. A példa a bejelentkezést a Windowsban (TestComputer\User) tárolt formátumban adja vissza, és a bejelentkezést az SQL Serverben (TESTCOMPUTER\User) tárolt formátumban adja vissza.
SELECT SUSER_SNAME(SUSER_SID('TestComputer\User', 0));