system_user (Transact-SQL)
Varsayılan değer belirtilmezse, tablo geçerli oturum açma için bir sistem tarafından sağlanan değer verir.
Sözdizimi
SYSTEM_USER
Dönüş Türleri
nchar
Açıklamalar
create table ve alter table deyimleri varsayılan kısıtlamalar ile system_user işlev kullanabilirsiniz.Bunu herhangi bir standart işlevda kullanabilirsiniz.
system_user, kullanıcı adı ve oturum açma adı farklı ise, oturum açma adını döndürür.
Geçerli kullanıcı için açtıysa, SQL Server Windows kimlik doğrulaması kullanarak system_user Windows oturum açma kimlik adı biçiminde verir: Etki alanı\user_login_name.Ancak, geçerli kullanıcı için açtıysa, SQL Server system_user döndüren SQL Server kimlik doğrulaması kullanarak, SQL Server gibi oturum açma kimliği adı WillisJo bir kullanıcı olarak oturum açmış WillisJo.
system_user anda çalışan içerik adını döndürür.execute as içeriğinin geçirileceği deyim kullanılmıştı, system_user kimliğine bürünülen bağlam adını döndürür.
Örnekler
A.Geçerli sistem kullanıcı adını döndürmek için system_user kullanma
Aşağıdaki örnek bildirir bir char değişkeni, geçerli değeri saklayan SYSTEM_USER değişken ve sonra saklanan değeri değişken baskı
DECLARE @sys_usr char(30);
SET @sys_usr = SYSTEM_USER;
SELECT 'The current system user is: '+ @sys_usr;
GO
Sonuç kümesi buradadır.
----------------------------------------------------------
The current system user is: WillisJo
(1 row(s) affected)
B.Varsayılan sınırlamalar ile system_user kullanma
Aşağıdaki örnek içeren bir tablo oluşturur SYSTEM_USER olarak bir DEFAULT için kısıtlama SRep_tracking_user sütun.
USE AdventureWorks2008R2;
GO
CREATE TABLE 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_Tracking (Rep_id)
VALUES (151)
INSERT Sales_Tracking (Rep_id, Last_sale)
VALUES (293, '5/15/98')
INSERT Sales_Tracking (Rep_id, Last_sale)
VALUES (27882, '6/20/98')
INSERT Sales_Tracking (Rep_id)
VALUES (21392)
INSERT Sales_Tracking (Rep_id, Last_sale)
VALUES (24283, '11/03/98')
GO
Seçer için ilgili tüm bilgileri aşağıdaki sorgu Sales_Tracking tablo:
SELECT * FROM Sales_Tracking ORDER BY Rep_id;
GO
Sonuç kümesi buradadı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)
Ayrıca bkz.