Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Şunlar için geçerlidir:SQL Server
Azure SQL Yönetilen Örneği
Azure Synapse Analytics
Analitik Platform Sistemi (PDW)
Varsayılan değer belirtilmediğinde mevcut giriş için sistem tarafından sağlanan bir değerin tabloya eklenmesine izin verir.
Transact-SQL söz dizimi kuralları
Syntax
SYSTEM_USER
Dönüş Türleri
nvarchar(128)
Remarks
SYSTEM_USER fonksiyonunu ve DEFAULT ifadelerinde CREATE TABLEALTER TABLE kısıtlamalarla kullanabilirsiniz. Ayrıca herhangi bir standart fonksiyon olarak da kullanabilirsiniz.
Kullanıcı adı ve giriş adı farklıysa, SYSTEM_USER giriş adını döndürür.
Mevcut kullanıcı Windows Kimlik Doğrulama kullanarak SQL Server'ye giriş yaptıysa, SYSTEM_USER Windows giriş kimliği adını şu şekilde geri döner: DOMAIN\user_login_name. Ancak, mevcut kullanıcı SQL Server Kimlik Doğrulama kullanarak SQL Server'ye giriş yaptıysa, SYSTEM_USER SQL Server giriş kimliği adını döndürür, örneğin WillisJo kullanıcı için .WillisJo
SYSTEM_USER şu anda yürüten bağlamın adını döndürür. Eğer ifade EXECUTE AS bağlam değiştirmek için kullanıldıysa, SYSTEM_USER taklit edilen bağlamın adını döndürür.
Bir SYSTEM_USER olamazsın EXECUTE AS .
Azure SQL Veritabanı: SYSTEM_USER ifadesi, taklit edilmiş bir güvenlik bağlamı kullanılarak yürütmeyi desteklemezEXECUTE AS.
Examples
A. Mevcut sistem kullanıcı adını döndürmek için SYSTEM_USER kullanmak
Aşağıdaki örnek bir char değişken ilan eder, değişkende mevcut değeri SYSTEM_USER saklar ve ardından değişkende saklanan değeri yazdırır.
DECLARE @sys_usr CHAR(30);
SET @sys_usr = SYSTEM_USER;
SELECT 'The current system user is: '+ @sys_usr;
GO
Sonuç kümesi aşağıdadır.
----------------------------------------------------------
The current system user is: WillisJo
(1 row(s) affected)
B. Kısıtlamalarla DEFAULT SYSTEM_USER kullanımı
Aşağıdaki örnek, sütun için bir kısıtlama SRep_tracking_user olarak bir tablo oluşturur.SYSTEM_USERDEFAULT
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şağıdaki sorgu, tablodan tüm bilgileri Sales_Tracking seçer:
SELECT * FROM Sales_Tracking ORDER BY Rep_id;
GO
Sonuç kümesi aşağıdadır.
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)
Örnekler: Azure Synapse Analytics ve Analytics Platform Sistemi (PDW)
C. Mevcut sistem kullanıcı adını döndürmek için SYSTEM_USER kullanmak
Aşağıdaki örnek, mevcut değeri döndürür SYSTEM_USER.
SELECT SYSTEM_USER;
Ayrıca Bkz.
ALTER TABLE (Transact-SQL)
CREATE TABLE (Transact-SQL)
CURRENT_TIMESTAMP (Transact-SQL)
CURRENT_USER (Transact-SQL)
SESSION_USER (Transact-SQL)
Sistem İşlevleri (Transact-SQL)
USER (Transact-SQL)