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.
Vonatkozik a következőkre:SQL Server
Azure SQL Managed Instance
Azure Synapse Analytics
Analitikai Platform System (PDW)
Lehetővé teszi, hogy a rendszer által megadott értéket a jelenlegi bejelentkezéshez beillesztsenek egy táblába, ha nincs alapértelmezett érték.
Transact-SQL szintaxis konvenciók
Syntax
SYSTEM_USER
Visszatérési típusok
nvarchar(128)
Remarks
A SYSTEM_USER függvényt használhatod korlátokkal DEFAULT az CREATE TABLE és ALTER TABLE utasításokban. Használhatod bármilyen szabványos funkcióként is.
Ha a felhasználónév és a bejelentkezési név eltérő, SYSTEM_USER visszaadja a bejelentkezési nevet.
Ha a jelenlegi felhasználó Windows hitelesítéssel van bejelentkezve SQL Server-ba, akkor a SYSTEM_USER a Windows bejelentkezési azonosító nevet adja vissza a következő formában: DOMAIN\user_login_name. Azonban, ha a jelenlegi felhasználó SQL Server hitelesítéssel van bejelentkezve SQL Server-be, akkor SYSTEM_USER visszaadja a SQL Server bejelentkezési azonosító nevet, például WillisJo egy felhasználónál, aki bejelentkezett -ként WillisJo.
SYSTEM_USER a jelenleg futtató kontextus nevét adja vissza. Ha az EXECUTE AS állítást használták a kontextus váltására, SYSTEM_USER visszaadja az átszemélyesen kezelt kontextus nevét.
Nem lehet EXECUTE AS SYSTEM_USER.
Azure SQL Database: A SYSTEM_USER utasítás nem támogatja a végrehajtást egy személyesen azonosított biztonsági kontextusban keresztül.EXECUTE AS
Examples
A. A SYSTEM_USER használata a jelenlegi rendszernév visszaállítására
A következő példa egy char változót hirdet, tárolja a változóban lévő aktuális értéket SYSTEM_USER , majd kinyomtatja a változóban tárolt értéket.
DECLARE @sys_usr CHAR(30);
SET @sys_usr = SYSTEM_USER;
SELECT 'The current system user is: '+ @sys_usr;
GO
Itt van az eredmények összessége.
----------------------------------------------------------
The current system user is: WillisJo
(1 row(s) affected)
B. Korlátozásokkal SYSTEM_USER DEFAULT használata
Az alábbi példa egy táblázatot hoz létre , SYSTEM_USER amely korlátként DEFAULT szolgál az SRep_tracking_user oszlophoz.
USE AdventureWorks2022;
GO
CREATE TABLE Sales.Sales_Tracking
(
Territory_id INT IDENTITY(2000, 1) NOT NULL,
Rep_id INT NOT NULL,
Last_sale DATETIME NOT NULL DEFAULT GETDATE(),
SRep_tracking_user VARCHAR(30) NOT NULL DEFAULT SYSTEM_USER
);
GO
INSERT Sales.Sales_Tracking (Rep_id)
VALUES (151);
INSERT Sales.Sales_Tracking (Rep_id, Last_sale)
VALUES (293, '19980515');
INSERT Sales.Sales_Tracking (Rep_id, Last_sale)
VALUES (27882, '19980620');
INSERT Sales.Sales_Tracking (Rep_id)
VALUES (21392);
INSERT Sales.Sales_Tracking (Rep_id, Last_sale)
VALUES (24283, '19981130');
GO
A következő lekérdezés választja ki az összes információt a Sales_Tracking táblázatból:
SELECT * FROM Sales_Tracking ORDER BY Rep_id;
GO
Itt van az eredmények összessége.
Territory_id Rep_id Last_sale SRep_tracking_user
----------- ------ -------------------- ------------------
2000 151 Mar 4 1998 10:36AM ArvinDak
2001 293 May 15 1998 12:00AM ArvinDak
2003 21392 Mar 4 1998 10:36AM ArvinDak
2004 24283 Nov 3 1998 12:00AM ArvinDak
2002 27882 Jun 20 1998 12:00AM ArvinDak
(5 row(s) affected)
Példák: Azure Synapse Analytics and Analytics Platform System (PDW)
C. A SYSTEM_USER használata a jelenlegi rendszernév visszaállítására
A következő példa a jelenlegi értékét adja vissza.SYSTEM_USER
SELECT SYSTEM_USER;
Lásd még
ALTER TABLE (Transact-SQL)
CREATE TABLE (Transact-SQL)
CURRENT_TIMESTAMP (Transact-SQL)
CURRENT_USER (Transact-SQL)
SESSION_USER (Transact-SQL)
Rendszerfunkciók (Transact-SQL)
USER (Transact-SQL)