Aracılığıyla paylaş


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.

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

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)